为什么我C语言求平均数enter不出结果呢?

!用do while 求的平均数enter就一直往下走,求不了结果

引用 皆我百晓生 小程序回复内容作答:
在 C 语言中,使用 do while 循环来求平均数时,您需要注意以下几点:

  1. 确保您已正确地声明和初始化求平均数所需要的变量。例如,您可能需要声明一个 sum 变量来保存输入数字的总和,以及一个 count 变量来计算输入数字的个数。

  2. 在执行循环之前,使用 sum = 0;count = 0; 将求和变量和计数变量初始化为零。

  3. 在循环内部,使用 scanf 函数获取用户输入的数字,并将其累加到 sum 变量中。同时,每次获取输入数字后,将 count 变量递增一次。

  4. 在循环之后,计算平均数并打印结果。可以使用 average = sum / count; 计算平均数,然后使用 printf 函数输出结果。

下面是一个示例代码,用于演示如何使用 do while 循环求平均数:

#include <stdio.h>

int main() {
    int number, sum = 0, count = 0;
    float average;

    printf("输入数字(输入负数表示结束):\n");
    
    do {
        scanf("%d", &number);
        if (number >= 0) {
            sum += number;
            count++;
        }
    } while (number >= 0);

    if (count != 0) {
        average = (float)sum / count;
        printf("平均数为 %.2f\n", average);
    } else {
        printf("没有输入数字\n");
    }

    return 0;
}

通过以上代码,您应该能够正确计算并输出平均数。如果您仍然遇到问题,请提供更多的代码和错误信息,以便我们能够更好地帮助您。

【以下回答由 GPT 生成】

#include <stdio.h>

int main() {
    int number, count = 0, sum = 0;
    float average;

    do {
        printf("请输入一个数字(输入0结束):");
        scanf("%d", &number);
        sum += number;
        count++;
    } while (number != 0);

    if (count != 1) {
        average = (float) sum / (count - 1);
        printf("平均数为:%f\n", average);
    } else {
        printf("至少输入一个数字才能计算平均数!\n");
    }

    return 0;
}

你的代码基本上是正确的。我注意到你在计算平均数时使用了 (count - 1)。这是因为当输入数字个数不为1时,你需要排除输入的最后一个0。但是,由于你在do while循环结束后直接计算平均数并输出结果,而没有对输入的最后一个0进行处理,因此导致了计算结果不正确。

要解决这个问题,你可以在do while循环之后添加一个if条件判断,用来判断是否输入了至少2个数字(排除了最后一个0)。如果是的话,就计算并输出平均数;如果不是的话,输出提示信息。

以下是修改后的代码:

#include <stdio.h>

int main() {
    int number, count = 0, sum = 0;
    float average;

    do {
        printf("请输入一个数字(输入0结束):");
        scanf("%d", &number);
        sum += number;
        count++;
    } while (number != 0);

    if (count >= 2) {
        average = (float) sum / (count - 1);
        printf("平均数为:%f\n", average);
    } else {
        printf("至少输入两个数字才能计算平均数!\n");
    }

    return 0;
}

现在,当你输入至少两个数字后,程序会正确地计算并输出平均数。如果你只输入一个数字,它会提示你至少输入两个数字才能计算平均数。希望能解决你的问题!如果还有其他疑问,请随时提出。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^