c语言用【while】【不固定次数】求平均值 题目描述 输入一系列正整数(大于0的整数),并以-1作为结束标志,求平均值(要求保留2位小数) 输入 输入一系列整数 输出 平均值。如果输入仅有-1,则输出:NO
时间: 2024-10-17 15:06:44 浏览: 121
在C语言中,使用`while`循环来计算不固定次数的正整数平均值,可以按照以下步骤编写程序:
```c
#include <stdio.h>
#include <math.h>
int main() {
int num, sum = 0, count = 0;
double average;
printf("请输入一系列正整数(大于0的整数),输入 -1 结束:\n");
while (scanf("%d", &num) == 1 && num != -1) { // 当读取到非-1的整数时继续循环
sum += num; // 累加每个数
count++; // 数量计数器加一
}
if (count > 0) {
average = (double) sum / count; // 计算平均值,注意将sum转换成double类型
printf("平均值为: %.2f\n", average); // 保留两位小数输出结果
} else {
printf("NO\n"); // 输入仅有一个 -1 的情况
}
return 0;
}
```
在这个程序中,用户逐次输入整数,直到遇到 `-1` 为止。每次输入都会累加到总和 `sum` 中,并增加计数器 `count`。最后,如果输入了不止一个数字,会计算平均值并输出;否则只输出 "NO"。
相关问题
C语言:输入一系列正整数(大于零的整数),并以-1作为结束标志,求平均值。要求使用while循环
在C语言中,你可以通过一个`while`循环来实现这个功能。下面是一个示例代码片段,它会让用户输入一系列正整数,直到遇到`-1`作为结束标志,然后计算它们的平均值:
```c
#include <stdio.h>
int main() {
int num, sum = 0, count = 0;
float average;
printf("请输入正整数 (输入 -1 结束): ");
// 使用while循环接收输入
while (scanf("%d", &num) == 1 && num != -1) { // scanf用于获取输入
sum += num; // 累加数值
count++; // 计数器加一
}
// 检查是否有输入,避免除以0的情况
if (count > 0) {
average = (float)sum / count; // 计算平均值并转换为浮点数
printf("平均值是: %.2f\n", average); // 打印结果,保留两位小数
} else {
printf("没有输入正整数。\n");
}
return 0;
}
```
在这个程序中,用户每输入一个正整数,我们就将其添加到`sum`中并增加计数器`count`。当输入 `-1` 或者不是整数时,`scanf`函数将返回0,循环就会终止。
用c语言求输入一批正整数,求他们的累加和和平均值用while语句
在C语言中,你可以使用while循环来求输入的一批正整数的累加和和平均值。首先,我们需要初始化两个变量,一个用于累计数值(sum),另一个用于记录数字的数量(count)。然后,通过while循环持续获取用户输入,直到输入非正整数为止。以下是示例代码:
```c
#include <stdio.h>
int main() {
int num, sum = 0, count = 0;
// 使用while循环获取输入
while (scanf("%d", &num) == 1 && num > 0) { // scanf函数会返回成功读取的项数,当读取非数字或负数时为0
sum += num; // 累加数值
count++; // 数量计数器加一
}
// 检查是否有输入数据,如果没有就退出
if (count == 0) {
printf("请输入至少一个正整数。\n");
return 1;
}
// 计算并输出平均值
float average = (float)sum / count;
printf("累加和为:%d\n", sum);
printf("平均值为:%.2f\n", average);
return 0;
}
```
阅读全文
相关推荐

















