輸入 5 位學生的學號、姓名、三科成績,計算平均分,將原始資料與平均分寫入 stud 檔案。
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int ID;
int math;
int English;
int C;
int avargrade;
char name[20];
} Stu;
int main() {
FILE *fp;
Stu stu[5];
int i;
printf("請輸入5個同學的信息:學生號,姓名,3門成績:\\n");
for (i = 0; i < 5; i++) {
scanf("%d %s %d %d %d", &(stu[i].ID), stu[i].name,
&(stu[i].math), &(stu[i].English), &(stu[i].C));
stu[i].avargrade = (stu[i].math + stu[i].English + stu[i].C) / 3;
}
if ((fp = fopen("stud", "w")) == NULL) {
printf("error: cannot open file!\\n");
exit(0);
}
for (i = 0; i < 5; i++)
fprintf(fp, "%d %s %d %d %d %d\\n",
stu[i].ID, stu[i].name,
stu[i].math, stu[i].English, stu[i].C, stu[i].avargrade);
fclose(fp);
system("pause");
return 0;
}
輸入: 1 a 60 70 80 2 b 60 80 90 3 c 59 39 89 4 e 56 88 98 5 d 43 88 78 stud 檔案內容: 1 a 60 70 80 70 2 b 60 80 90 76 3 c 59 39 89 62 4 e 56 88 98 80 5 d 43 88 78 69