使用结构体变量存储学生姓名和课程成绩,计算平均分及查找不及格同学姓名及分数


 1 struct Student        //声明Student类型结构体变量
 2     {
 3         char name[20];
 4         int score[5];
 5     };
 6 typedef struct Student Stu;
 7 
 8 void main()
 9 {
10 
11     Stu stu[3];      定义Student类型变量数组  
12     int i,j;
13     for(i=0;i<3;i++)      //输入学生姓名和成绩
14     {
15         printf("please input student[%d]'s name and scores:\n",i+1);
16         printf("Name:");scanf("%s",stu[i].name);
17         printf("\nScores:");
18         for(j=0;j<4;j++)
19         {
20             scanf("%d",&stu[i].score[j]);}
21     stu[i].score[j]=0;
22     }
23     void aver(Stu s[],int n);
24     aver(stu,3);      //求平均分
25     void fail(Stu s[],int n);
26     fail(stu,3);      //打印不及格成绩同学成绩
27 }
28 void aver(Stu s[],int n)
29 {
30     int i,j;
31     float sum;
32     for(i=0;i<n;i++)
33     {
34         for(j=0,sum=0.0;j<4;j++)
35         {
36             sum=sum+s[i].score[j];
37         }
38         s[i].score[j]=sum/j;
39     }
40     printf("average scores:\n");
41     for(i=0;i<n;i++)
42     {
43         printf("\n%s :%.1d",s[i].name,s[i].score[4]);
44     }
45     printf("\n");
46 }
47 void fail(Stu s[],int n)
48 {
49     int i,j;
50     for(i=0;i<n;i++)
51     {
52         for(j=0;j<4;j++)
53         {
54             if(s[i].score[j]<60)
55             {
56                 printf("\n%s failed:",s[i].name);
57                 printf("\nScores:");
58                 for(j=0;j<4;j++)
59                     printf("%d\t",s[i].score[j]);
60                 break;
61             }
62         }
63     }
64 }

  结构体类型和int,char,数组等基本类型一样,也是一种C语言数据类型,只不过这是一种自定义数据类型,我们可以根据需求由各种基本数据类型构造。

  使用结构体变量时遵循变量使用的一般规则。一般把结构体类型声明放到代码的最前面,这一可以使其使用范围为整个程序文件;也可以放在头文件里。


免责声明!

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



猜您在找 有一个班4个学生,5门课程 ①求第1门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩; ③找出平均成绩在90分以上或全部课程成绩在85分以上的学生 分别编3个函数实现以上3个要求 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数) MySQL查询两门及两门以上不及格的学生,显示姓名 MySQL 查找一个表中平均分大于60的学生姓名与对应分数(学生名都不同) C语言之:结构体动态分配内存(利用结构体数组保存不超过10个学生的信息,每个学生的信息包括:学号、姓名和三门课(高数、物理和英语 )的成绩和平均分(整型)。) java例题_50 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成 绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 python实现:写一个班级的类, 存储班里人数,统计班级里各学科的总分的最高分、各学科的平均分; 写班级里的学生类,存储学生所有成绩, 计算某个学生的全部课程的平均分、全部课程的总分、全部课程的最高分 练习2 --查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩 SQL查询有两门以上不及格的学生及查询出全部及格的学生 四、编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数。
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM