我正在尝试计算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
的增量。
另一种方式(我更喜欢)将只增加i
分支中的else
,并从第三个i++
循环表达式中删除for
。
你的任务num1 = num2;
也是错误的,没有你用调试器无法解决的,你也会意识到你需要average = sum / 5.0f;
来避免截断。