【C语言】利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将数据文件读入,且求出每个学生的平均成绩。


题目:1.利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。

    2.编写程序将数据文件读入,且求出每个学生的平均成绩。

 

过程:

  文本编辑软件就是记事本等等,我用的是notepad++,在此推荐大家可以装一个notepad++写代码是真的方便快捷。

  建立如下数据文件,文件名students.dat

  *此处也可以建立成txt后缀的文件

  

下面是C语言代码

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #define N 5
 4 struct student{
 5     int num;
 6     char name[10];
 7     float eng;
 8     float mat;
 9     float com;
10 }stu[N];
11 int main(){
12     FILE *fp;
13     int i;
14     float ave=0;
15     if((fp=fopen("C:\\Users\\root\\Desktop\\students.dat","r"))==NULL)
16     {
17         printf("Open file error!");
18         exit(0);
19     }
20     for(i=0;i<N;i++)
21     {    fscanf(fp,"%d",&stu[i].num);
22         fscanf(fp,"%s",&stu[i].name);
23         fscanf(fp,"%f",&stu[i].eng);
24         fscanf(fp,"%f",&stu[i].mat);
25         fscanf(fp,"%f",&stu[i].com);
26         //fread(&stu[i],sizeof(struct student),1,fp);
27         ave = (stu[i].eng + stu[i].mat + stu[i].com)/3;
28         printf("学号\t姓名\t平均成绩\n");
29         printf("%d\t%s\t%.2f\n",stu[i].num,stu[i].name,ave);
30     }
31     fclose (fp);
32     return 0;
33 }

 

程序运行结果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 学生成绩表数据包括:学号,姓名,高数,英语和计算机三门课成绩,计算每个学生总分,每课程平均分,最高分和最低分 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数) 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 有五个学生,每个学生有3门课(语文、数学、英语)的成绩, * 写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩) 按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示: 学生ID,,数据库,企业管理,英语,有效课程数,有效平均分 sql练习-查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩 【sql: 联系题26 ,27】查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩,查询课程名称为「数学」,且分数低于 60 的学生姓名和分数 1查询所有学生的学号、姓名、选课数、总成绩,3、查询出每门课程都大于80分的学生姓名4、删除除了id号不同,其他信息都相同的学生冗余信息 一个SQL查询出每门课程的成绩都大于80的学生姓名 有一个班4个学生,5门课程 1求第1门课程的平均分; 2找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩; 3找出平均成绩在90分以上或全部课程成绩在85分以上的学生。4分别编3个函数实现以上3个要求。
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM