【发布时间】:2017-06-09 22:25:48
【问题描述】:
#include <stdio.h>
int main(void)
{
int num, i, total, average, min, max;
min = num;
max = num;
FILE *ifile;
ifile = fopen("scores.txt", "r");
i = total = 0;
while (fscanf(ifile, "%d", &num) != EOF) {
i++;
total += num;
}
printf("The total of the integers is %d.\n", total);
printf("The number of integers in the file is %d.\n", i);
average = total/i;
printf("The average of the integers is %d.\n", average);
while (fscanf(ifile, "%d", &num) != EOF) {
if (num < min) {
printf ("The minimum is %d\n", min);
} else if (num > max) {
printf ("The maximum is %d\n", max);
}
}
fclose(ifile);
return (0);
}
错误的代码部分是关于最小值/最大值的结尾。 我不确定是否为此添加一个循环,甚至自己制作 min 和 max 变量。
【问题讨论】:
-
min = num; max = num;这里,num未初始化。在第一次迭代的任一循环中将min和max初始化为文件中的任何值,然后比较它们。 -
min = num;这行代码中num的值是多少? -
我试图将文件中的 num 设为数字