c - 以 -1 作为退出整数的 n 个数字的总和和平均值
问题描述
您好我的代码有一个小问题,我想了解它。我的任务是编写一个程序,使用 while 循环或带有 if 条件的嵌套 while 循环获取 n 个数字的总和和平均值,当你想退出代码时,你应该输入 -1。代码在下面。我遇到的问题是我无法将 -1 从计算中排除。我究竟做错了什么。它应该是一个简单的代码。
int main(void) {
int count;
float sum, average, number;
sum = 0;
count = 0;
printf("Calculate sum and average (-1 to quit)\n");
while (number!=-1) {
scanf("%f", &number);
sum = sum + number;
count = count + 1;
}
average = sum / count;
printf("Sum=%f", sum);
printf(" Average=%f", average);
}
解决方案
在 while 块中,您读取数字,然后将其添加到平均计算中,然后只有在迭代重复之后,您才检查它是否不同于 -1 以停止迭代:
显然有不同的方法来解决它:
一种方法是使用 while(true) 并在读取数字后的 while 块中添加一个 if 语句以将其与 -1 进行比较并跳出循环
while (true) {
scanf("%f", &number);
if (number == -1) break;
sum = sum + number;
count = count + 1;
}
推荐阅读
- python - aiokafka:每个分区一个消费者
- outlook - 如何使用“ConversationIndex”属性获取邮件对话中的消息顺序?
- javascript - 如果 JSON 数据包含未定义,则附加不同的变量
- python - BeautifulSoup 网页抓取:UnboundLocalError:分配前引用的局部变量“汤”
- jenkins - 如何在 Jenkins 流水线构建后阶段运行脚本
- excel - VBA Range("A1048576").End(xlUp).Row in Javascript Excel API
- docker-compose - 在 WSL2 上使用 Docker 容器的提琴手
- python - 如何在 Python 中使用 bs4 从 html 中刮取这个值
- python - 如何使用单元格中的指定日期遍历行?
- python - 使用 PATCH API 调用更新现有数据