这是最初的问题:“”十名学生参加了一个测验。这个等级 测验可供您使用。确定测验“”
上的班级平均值int main(){
float average, total, currentnote, i;
average,total = 0;
for (i = 0; i < 10; i++){
printf("please enter the quiz result:");
scanf_s("%d", ¤tnote);
total = total + currentnote;
if (i = 9){
average = total / 10;
printf("result equals= %f", average);
getchar();
}
}
}
输入一个数字后,它会以错误退出
The program '[3272] Project1.exe' has exited with code 0 (0x0).
有人能告诉我我的错误吗?
答案 0 :(得分:2)
if (i = 9)
应该是
if (i == 9)
看看是不是问题。
答案 1 :(得分:2)
除了必须测试等同为if (i == 9)
,
您不能以这种方式设置两个等于公共值的变量:average, total = 0
改为average = total = 0
。
currentnote
变量是一个浮点数 - 但scanf_s
的格式标记告诉它期望int
。
为了明确代码中的意图,为什么这会在for
循环中?为什么不把它放在for
循环之后?
if (i == 9){
average = total / 10;
printf("result equals= %f", average);
getchar();
}
答案 2 :(得分:1)
您写道:
scanf_s("%d"....
但%d
适用于ints
,您有float
使用%f
。