输出平均分最高的学生信息 (10分)||结构体

    科技2022-07-13  152

    7-1 输出平均分最高的学生信息 (10分) 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(1<=n<=10)个学生的成绩信息,计算并输出平均分最高的学生信息,平均分保留两位小数。如果平均分最高的学生有多个,按输入顺序输出第一个学生的信息。

    输入格式: 输入整数n(1<=n<=10),在下面n行输入n个学生的信息,包括学号、姓名、三门课程成绩(整数)。

    输出格式: 在一行中输出平均分最高的学生信息:学号、姓名、平均分(保留两位小数)。

    输入样例: 3

    101 Zhang 78 87 85 102 Wang 91 88 90 103 Li 75 90 84

    输出样例:

    num:102,name:Wang,average:89.67

    C语言代码解析:

    #include<stdio.h> struct student { int xh,a,b,c; double pjf; char name[100]; }; int main() { struct student t[100]; int a=0,b=0,c=0,n; scanf("%d",&n); for(int i=0;i<n;i++) {scanf("%d",&t[i].xh); scanf("%s",t[i].name); scanf("%d%d%d",&t[i].a,&t[i].b,&t[i].c); t[i].pjf=(t[i].a+t[i].b+t[i].c)/3.0; } int max=0; for(int i=0;i<n;i++) { if(t[i].pjf>t[max].pjf) max=i; } printf("num:%d,name:%s,average:%.2f\n",t[max].xh,t[max].name,t[max].pjf); return 0; }

    c++代码解析:

    #include<iostream> #include<iomanip>//因为用到了c++的格式化输出,所以需要这个头文件 using namespace std; struct student { int xh,a,b,c; string s; double av; }; int main() { int n; struct student t[10]; cin>>n; for(int i=0;i<n;i++) { cin>>t[i].xh>>t[i].s>>t[i].a>>t[i].b>>t[i].c; } for(int i=0;i<n;i++) { t[i].av=(t[i].a+t[i].b+t[i].c)/3.0; } int x=0; for(int i=0;i<=n;i++) { if(t[i].av>t[x].av) { x=i; } } cout<<"num:"<<t[x].xh<<",mane:"<<t[x].s<<",average:"; cout<<setiosflags(ios::fixed)<<setprecision(2)<<t[x].av<<endl; return 0; }
    Processed: 0.016, SQL: 8