分享

c语言结构体和共用体1.有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据

 lixinhecom 2017-07-17
#include<stdio.h>
#define max 5 /*设定要输入成绩的学生个数*/

double zpj; /*总平均值*/
struct student /*结构体*/
{
int num;
char name[10];
int score1;
int score2;
int score3;
double pj;
};
struct student stu[max],temp;

void Input() /*输入函数*/
{ int i;
for(i=0;i<max;i++)
{printf("enter number"); scanf("%d",&stu[i].num); printf("enter name"); scanf("%s",&stu[i].name); printf("enter score1"); scanf("%d",&stu[i].score1); printf("enter score2"); scanf("%d",&stu[i].score2); printf("enter score3"); scanf("%d",&stu[i].score3); }
}

average() /*求平均值函数*/

{int i; for(i=0;i<5;i++) {stu[i].pj=stu[i].score1+stu[i].score1+stu[i].score3; zpj+=stu[i].pj; }
for(i=0;i<5;i++)
stu[i].pj/=3;
zpj/=max;
}

MAX() /*找出最高平均值的学生的函数*/
{int i,j; temp=stu[0]; for(i=0;i<max-1;i++) for(j=i+1;j<max;j++) if(stu[i].pj<stu[j].pj) temp=stu[j]; }





output() /*输出函数*/

{int i; for(i=0;i<max;i++) printf("num=%d\n name=%s\n score1=%d\n score2=%d\n score3=%d\n aver=%f\n", stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].pj); printf("总平均分=%f\n\n",zpj); printf("平均分最高的学生\nnum=%d\n name=%s\n score1=%d\n score2=%d\n score3=%d\n aver=%f\n", temp.num,temp.name,temp.score1,temp.score2,temp.score3,temp.pj); }
void main() /*主函数*/
{

Input();
average();
MAX();
output();
}



自己写的 符合你的要求
不足之处还请指教

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多