这是我的代码,我对C相当陌生。我从txt文件中检索了5个学生的名字和成绩。然后,我必须计算每个学生的平均成绩。我真的很迷茫,迷失了方向,任何帮助都是非常感谢的。下面是关于txt文件的信息:
James
Smith
40 60 70 90 100
Will
Jones
20 21 22 23 24
Jose
Lopez
25 26 27 28 29
Jesus
Diaz
30 31 32 33 34
Iker
Caz
35 36 37 38 39
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FILE *fp;
int main() {
int i, j, avg, average, num;
//Structure which contains elements for the students info//
struct student {
char fname[10];
char lname[10];
int grade[5];
int avggrade;
} student[5];
fp = fopen("file.txt", "r");
//reads file and retrives each students data//
for (i = 0; i < 5; i++) {
fscanf(fp, "%s", student[i].fname);
fscanf(fp, "%s", student[i].lname);
for (j = 0; j < 5; j++) {
fscanf(fp, "%d", &student[i].grade[j]);
}
}
//prints out each students data so you can see that the file was read correctly//
for (i = 0; i < 5; i++) {
printf("%s\n", student[i].fname);
printf("%s\n", student[i].lname);
for (j = 0; j < 5; j++) {
printf("%d\n", student[i].grade[j]);
}
}
//Find average//
int sum = 0;
int n = 0;
for (j = 0; j < n; j++) {
sum = student[2].grade[j] + sum;
}
printf("%.2f", sum);
}
发布于 2022-05-11 04:25:39
看看你的循环,想想它是如何工作的。它永远不会运行,因为j<n
在第一次迭代时为false,当这两个变量都等于0时。
https://stackoverflow.com/questions/72195375
复制相似问题