做之前先理清思路再来写,我就是开始想到啥写啥,后面越搞越心烦意乱。。。

#include "stdio.h"
int main()
{
    int num,i,j;
    while(scanf("%d",&num)!=EOF)
    {
        for(i=0;i<num;i++)//行数
        {
            for(j=0;j<num;j++)//每行的打印
            {
                 if(j==0|i==num-1)//打印每一行的第一个*和最后一排
                     printf("* ");
                 else if(j==i&&i!=0)//从第二排开始每隔i个空打印一个*
                     printf("* ");
                else //其余的都打双空格
                    printf("  ");
            }
            printf("\n");//最后换下一行
        }
    }
    return 0;
}