gpt4 book ai didi

c - C 中的循环不能正确递增

转载 作者:行者123 更新时间:2023-11-30 21:30:57 24 4
gpt4 key购买 nike

你好,我是 C 语言新手,我正在使用 c99 进行编译,我只是在制作一个使用 * 打印不同形状的程序。

我在制作对角线时遇到问题,这是我在 switch 语句内使用 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输出: * * *

最佳答案

尝试下面的代码..应该为你绘制对角线。

变化:

  1. while (index<num){ While condition edited.
  2. for (int i=index-1; i >= 0; i--) for edited from index to 0.
  3. num--; not required.
while (index<num){
// makes spaces
for (int i=index-1; i >= 0; i--)
{
printf(" ");
}
printf("*");
printf("\n");
//num--;
index++;
}

关于c - C 中的循环不能正确递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22293258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com