结构体的使用

来源:互联网 发布:淘宝3c证书号要怎么填 编辑:程序博客网 时间:2024/05/17 14:20

题目

现有4个学生,每个学生包含学号、三门课成绩和平均成绩等4个信息。首先输入各位学生的学号、三门课成绩;然后计算出每个学生的平均成绩;最后输入一个学号,当该学号存在时,输出对应学生的所有信息,否则,输出“该学号学生不存在!”

程序运行情况:

第一步,输出两行提示信息:

请依次输入4位学生信息:

学号成绩1成绩2 成绩3

第二步,输入各位学生的学号、三门课成绩,例如:

034 63  78  82

045 70  70  85

052 80  82  92

100 56  85  78

第三步,输出一行提示信息:

请输入需要查询的学生学号:

第四步,输入学号,例如:

052

第五步,如果该学号存在时,先输出一行提示信息,然后给出对应学生所有信息,例如:

学号成绩1成绩2 成绩3 平均分

052   80    82   92     84.7

如果第四步输入的学号不存在,直接输入“该学号学生不存在!”

编程要求

描述学生的结构体定义如下:

typedef struct

{

       charnum[20];

       intscore[3];

       doubleaver;

}STU;





#include<stdio.h>typedef struct{char num[20];int score[3];double aver;}STU;void input(STU std[] ,int count){  printf("请依次输入%d位学生信息:\n",count);  printf("学号 成绩1 成绩2 成绩3\n");  for(i=0;i<count;i++)  {  scanf("%s",stu[i].num);  for(j=0;j<3;j++)  {  scanf("%d",&stu[i].score[j]);  }  }}void caculAver(STU stu[],int count){int i,j;double  aver;for (i=0;i<count;i++){aver=0;for(j=0;j<3;j++)aver+=stu[i].score[j];stu[i].aver=aver/3;}}void search(char*num,STU stu[],int count){int i,j,isfound=0;for(i=0;i<count&&!isfound;i++){if(strcmp(stu[i].num,num)==0){printf("学号 成绩1 成绩2 成绩3 平均分\n");printf("%s",stu[i].num);for(j=0;j<3;j++)printf("%7.1f\n",stu[i].aver);isfound=1;}}if(!isfound)printf("不存在该学号的学生\n");}int main(){    STU stu[4];char num[20];input(stu,4);caculAver(stu,4);printf("请输入需要查询的学生学号;");scanf("%s",num);search(num,stu,4);return 0; }


原创粉丝点击