打印回型嵌套
时间: 1ms 内存:128M
描述:
************ ** ******* ** * * ** * *** * ** * * * * ** * *** * ** * * ** ******* ** ************观察这个图形,它是由一系列正方形的星号方框嵌套而成。在上边的例子中,最外方框的边长为11。本题的任务就是从标准输入获得一个整数n(1<n<100)程序则生成嵌套着的回字型星号方框。其最外层方框的边长为n
输入:
例如:输入:5
输出:
程序输出:****** ** * ** ******
示例输入:
10
示例输出:
**********
* *
* ****** *
* * * *
* * ** * *
* * ** * *
* * * *
* ****** *
* *
**********
提示:
参考答案(内存最优[1088]):
#include<stdio.h>
int main()
{
printf("**********\n");
printf("* *\n");
printf("* ****** *\n");
printf("* * * *\n");
printf("* * ** * *\n");
printf("* * ** * *\n");
printf("* * * *\n");
printf("* ****** *\n");
printf("* *\n");
printf("**********\n");
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
#define N 100
int main()
{
int n,i,j;
char a[N][N];
cin>>n;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
a[i][j]=' ';
j=0;
for(i=0; i<n; i++)
{
for(; j<n-i; j++)
{
a[i][j]='*'; //绘制上三角
a[j][i]='*'; //绘制左三角
a[n-i-1][j]='*'; //绘制下三角
a[j][n-i-1]='*'; //绘制右三角
}
j=i+2;
i++;
}
//打印回型嵌套
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
cout<<a[i][j];
cout<<endl;
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。