打印回型嵌套

打印回型嵌套

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注