c - 在 C 中编写 while 循环

标签 c

首先,我是一个完全的初学者,所以这个问题对你们所有人来说可能是非常明显的,但我不明白这个程序中的 while 循环有什么问题。该程序的目的是计算数字之间的平均值,当用户想继续输入数字时输入 0,而当他想停止输入数字时输入 1,因此循环应该在用户输入 1 时停止并计算 a当他最后输入 0 时的值的总和。所以这就是我写的,我使用 stdio.hstdlib.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/

相关文章:

文本文件中的货币换算数据库结构

c - 试图找到两个数组的非支配解

c - 服务器没有正确接收消息?

c - 奇怪的编译行为

c++ - 多线程 C 程序中的信号量互斥并发问题

C - Valgrind 在我的反向字符串函数中检测到一个错误

c - C 函数中的指针

c - ARM Cortex M4 上的数组大小问题

c - 在系统调用和命令提示符中调用 'cd' 的区别

计算对数的平均值