Cプログラミング言語ファイルのトピック()

1. 5人の学生があり、各学生は、(学生番号、名前、3つのクラスが得点を含む)、3コースの結果、キーボードから入力された上記のデータは、持っている
平均スコアは、元のデータと計算された平均値を計算しますディスクファイル「スタッド」に保存されたスコア。

#include<stdio.h>
#include<stdlib.h>
struct student {//定义一个结构体,里面包含的成员属性有学号、姓名、成绩、平均分
	char num[10];
	char name[5];
	int score[3];
	float avg;
} stu[5];
int main() {
	int i,j,sum;
	FILE *fp;
	for(i=0; i<5; i++) {//通过循环输入每个学生的学号、姓名、成绩
		printf("请输入第%d位学生学号:\n",(i+1));
		scanf("%s",stu[i].num);
		printf("请输入学生姓名:\n");
		scanf("%s",stu[i].name);
		sum = 0;
		for(j=0; j<3; j++) {
			printf("请输入第%d门科目成绩:\n",(j+1));
			scanf("%d",&stu[i].score[j]);
			sum +=stu[i].score[j];
		}
		stu[i].avg = sum / 3.0;
	}
	fp = fopen("E:\\stud.txt","w");
	for(i=0; i<5; i++) {//在控制台上显示结果
		printf("姓名:%s 学号:%s:",stu[i].name,stu[i].num);
		for(j=0; j<3; j++) {
			printf("学科%d成绩%d:",(j+1),stu[i].score[j]);
		}
		printf("平均分%.2f\n",stu[i].avg);
	}
	for(i=0; i<5; i++) { //将输入的数据以及平均分写入文件
		fprintf(fp,"姓名:%s 学号:%s ",stu[i].name,stu[i].num);
		for(j=0; j<3; j++) {
			fprintf(fp,"学科%d成绩:%d ",(j+1),stu[i].score[j]);
		}
		fprintf(fp,"平均分%.2f\n",stu[i].avg);
		fputc('\n',fp);//换行
	}

	fclose(fp);
}

結果は以下の通りであります:

コンソール表示結果(1)

 

ファイルに書き込まれたデータ(2)

 

彼は196元の記事を発表 ウォンの賞賛581 ビュー470 000 +

おすすめ

転載: blog.csdn.net/wyf2017/article/details/105195144