第十六周-学生成绩处理2

来源:互联网 发布:java邮件发送过多 编辑:程序博客网 时间:2024/04/28 02:50
#include <stdio.h>#define N 100struct Student{    int num;//学号    int c;//C语言成绩    int math;//数学成绩    float GPA;//学分绩};int main(){    int n;    //定义结构体数组存放多名同学的成绩    struct Student stu[N];    printf("请输入学生人数:");    scanf("%d",&n);    printf("请输入学号、C和数学课的成绩:\n");    //输入数据    int i,count=0,sum_c=0,sum_math=0;    struct Student data[N];    for(i=0; i<n; ++i)    {        scanf("%d %d %d",&stu[i].num,&stu[i].c,&stu[i].math);    }    //输出成绩单    printf("成绩单:\n学号\tC\t数学\t学分绩\n");    for(i=0; i<n; ++i)    {        //stu[i].GPA=(float)(stu[i].c*3+stu[i].math*4)/7;        stu[i].GPA=(stu[i].c*3+stu[i].math*4)/7.0;        //将7改为7.0及把除数由整数变成了浮点数,就不需要对被除数进行强制类型转换        printf("%d\t%d\t%d\t%.2f\n",stu[i].num,stu[i].c,stu[i].math,stu[i].GPA);        sum_c+=stu[i].c;        sum_math+=stu[i].math;        if(stu[i].GPA>80&&stu[i].c>=60&&stu[i].math>=60)        {            data[count]=stu[i];            ++count;        }    }    printf("科均分\t%.2f\t%.2f\n",(float)sum_c/n,(float)sum_math/n);    printf("的奖学金的同学的学号是:\n");    for(i=0;i<=count;++i)    {        printf("%d ",data[i].num);    }    /*    for(i=0; i<n; i++)        if(stu[i].c>=60&&stu[i].math>=60&&stu[i].aver>=80)            printf("%d ",stu[i].num);    return 0;}

0 0