学生成绩汇总.cpp
-------------------------------------------------------------------
#include <stdio.h>
struct grade
{
    char name[20];     /*姓名*/
    int termLyexam;    /*平时成绩*/
    int midTerm;        /*期中成绩*/
    int endTerm;        /*期末成绩*/
    float finalGrade;  /*最终成绩*/
};
void main()
{
    struct grade str[30];
    int i=0,j,count=0;
    char any='y';
    struct grade max;
    do
    {
        count++;                                    /*累加器,计算输入的学生个数*/
        printf("请输入第%d个学生的信息\n",i+1);
        printf("学生姓名:");
        scanf("%s",str[i].name);
        printf("平时成绩:");
        scanf("%d",&str[i].termLyexam);
        printf("期中成绩:");
        scanf("%d",&str[i].midTerm);
        printf("期末成绩:");
        scanf("%d",&str[i].endTerm);
        printf("继续输入吗?<y/n>:");
        scanf(" %c",&any);
        i++;
    }while(any=='y');                                /*提示用户是否继续输入*/
    printf("\n以下是成绩清单:\n");
    printf("姓  名\t平时成绩\t期中成绩\t期末成绩\t最终成绩\n");
    printf("------\t--------\t--------\t--------\t--------\n");
    for(j=0;j<count;j++)                            /*计算每个学生的最终成绩,count是学员人数*/
    {
        str[j].finalGrade=str[j].termLyexam*0.1+str[j].midTerm*0.2+str[j].endTerm*0.7;            /*计算最终成绩*/
        printf("%s\t%d\t\t%d\t\t%d\t\t%.2f\n",str[j].name,str[j].termLyexam,str[j].midTerm,str[j].endTerm,str[j].finalGrade);    
    }
    max.finalGrade=str[0].finalGrade;
    for(j=0;j<count;j++)                            /*求最好的最终成绩*/
    {
        if(max.finalGrade<str[j].finalGrade)
        {
            max=str[j];
        }
    }
    printf("\n成绩最好的是%s,最终成绩为:%.2f\n",max.name,max.finalGrade);
    
    
}



 
											





 
	    

 
	
