我必须写一个程序,打印一个由一个对角线的星号组成的正方形,边上有n个星号。如果n为5,则模式为
*****
* **
* * *
** *
*****
我的错误代码是:
#include<stdio.h>
main(){
int n,row,i,star;
scanf("%d",&n);
for(row=1;row<=n;row++){
if(row==1||row==n){
for(i=1;i<=n;i++){
printf("*");
}
}
else { for(star=1;star<=n;star++){
if((star==1)||(star=n-row+1)||(star==n))
printf("*");
else printf(" ");
}
}
printf("\n");
}
}
它不做它的工作,而是打印无限的星号。
最佳答案
你在分配而不是比较。
if((star==1)||(star=n-row+1)||(star==n))
^
关于c - 在C中带有对角星号图案的正方形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27335021/