C语言打印出正方形空心图案

如题所述

#include<stdio.h>
int main (void)
{
    int x, y, num;
    printf ("请输入正方形的边长:");
    scanf ("%d",&num);
    for (x = 0; x < num; x++) {
        for (y = 0; y < num; y++) {
            if (x == 0 || y == 0 || x == num - 1 || y == num - 1) {//正方形的4条边,如果符合
                printf ("*");//打印*
            }
            else {//其他
                printf (" ");//打印空格
            }
        }
    }
    return 0;
}

你要的是这个吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-10
另外一种解法:
#include<stdio.h>
main ()
{
int x, y, num;
printf ("请输入正方形的边长:");
scanf ("%d",&num);
for (x = 0; x < num; x++)
{ printf("*"); //打印*
for(y = 0; y < num-2; y++)
printf (" "); // 打印num-2个空格
printf ("*\n"); //换行
}

}

另:楼上的解答很好,只是x循环少了换行。本回答被网友采纳