首先,我是一个完全的初学者,所以这个问题对你们所有人来说可能是非常明显的,但我不明白这个程序中的 while 循环有什么问题。该程序的目的是计算数字之间的平均值,当用户想继续输入数字时输入 0,而当他想停止输入数字时输入 1,因此循环应该在用户输入 1 时停止并计算 a当他最后输入 0 时的值的总和。所以这就是我写的,我使用 stdio.h
和 stdlib.h
作为库:
int decision;
int value;
int sum = 0;
float av;
int order = 1;
printf ("for continue press: 0\n ");
printf ("for stopping press: 1\n ");
while (decision == 0) {
printf("input value:");
scanf("%d", &value);
sum = sum + value;
printf ("continue?");
scanf("%d", &decision);
order = order + 1;
}
av = (float) sum / (float) order;
printf("the average is: %.2f", av);
return EXIT_SUCCESS;
终端显示的只是“average is:0.00”,它跳过了上面的整个操作。
最佳答案
你应该将decision
初始化为0
int decision = 0;
使得while循环为真
while (decision == 0) {
在第一次迭代时。
关于c - 在 C 中编写 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33048141/