我正在尝试计算 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);
,注意指针。最后,您还应该检查 scanf
的返回值 - 如果读取了数字,则返回值应该为 1。
一种方法(并不适合所有人的口味)是将 if
主体重写为
if (num1 > 10){
printf ("You can't enter this number\n");
printf ("Enter five numbers to calculate the average:");
--i;
} ...
它反转了i
的增量。
另一种方法(我更喜欢)是仅在 else
分支中增加 i
,并从第三个分支中删除 i++
for
循环表达式。
你的作业num1 = num2;
也有问题,没有什么是你用调试器无法解决的,而且你还会意识到你需要average = sum/5.0f ;
以避免截断。
关于c - 如何在for循环中输入if语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55592429/