c - 如何在for循环中输入if语句?
问题描述
我正在尝试计算 5 个数字的平均值,它们都低于 10。任何帮助将不胜感激,因为我仍处于学习的早期阶段。
int num1, num2;
int sum, i;
float average;
printf ("Enter five numbers to calculate the average:");
for (i = 0; i < 5; i++){
scanf ("%d", num1);
if (num1 > 10){
printf ("You can't enter this number\n");
printf ("Enter five numbers to calculate the average:");
scanf ("%d", num1);
}
else{
num1=num2;
}
sum += num2;
}
average = sum / 5;
printf ("Average is: %f", average);
解决方案
你的第一份工作是写scanf("%d", &num1);
,注意指针。最终你应该检查 too 的返回值scanf
——如果读取了一个数字,它应该是 1。
一种方法(不是每个人的口味)是将if
身体重写为
if (num1 > 10){
printf ("You can't enter this number\n");
printf ("Enter five numbers to calculate the average:");
--i;
} ...
这反转了 的增量i
。
另一种方法(我更喜欢)是只增加分支,并从第三个循环表达式中i
删除。else
i++
for
你的任务num1 = num2;
也有问题,没有什么是你不能用调试器解决的,你也会意识到你需要average = sum / 5.0f;
避免截断。
推荐阅读
- android - 将多个传感器数据保存到 sqlite 数据库
- swift - 使用数组和 Firebase
- javascript - 如何获取 JavaScript 全局变量并将其发送到 php 文件中?
- groovy - Azure 架构扩展 - 错误消息:对象引用未设置为对象的实例
- python - 代码实现在不需要时自动变量
- php - 如何轻松注释 PHP+HTML 代码
- xml - 如何在 ImportXML 的 URL 中包含 Google 表格单元格引用
- php - 存储第一页的数据并在第二页使用它而不使用 PHP GET
- python - 从网上下载 ZIP 文件 (Python)
- c# - 从已知宽度和高度的字节数组计算坐标的 X 和 Y