你好,我是C的新手,我使用c99来编译,我只是制作一个使用*打印不同形状的程序。
我有一个问题,使对角线这里是代码我使用一个while循环与一个嵌套的for循环内的开关语句。
如果我告诉它会有5 *,我得到3,如果我给它数字7,我得到4。间距工作正确,但它没有完成循环。
任何帮助将是伟大的!
case 'd':
printf("Size: ");
scanf("%d", &num);
index =0;
while (index<=num){
// makes spaces
for (int i=0; i<num-1; i++){
printf(" ");
}
printf("*");
printf("n");
num--;
index++;
}
break;
输入尺寸:5输出:***
试试下面的代码。应该为你画对角线。
变化:
while (index<num){
While
条件编辑。for (int i=index-1; i >= 0; i--)
for
从索引编辑到0.- num -;不是必需的。
while (index<num){
// makes spaces
for (int i=index-1; i >= 0; i--)
{
printf(" ");
}
printf("*");
printf("n");
//num--;
index++;
}