#include<iostream> #include<iomanip> using namespace std; const int n=3; struct student { char num[6]; char name[8]; int score[4]; float avr; }stu[n]; int main() { int i,j,max,maxi,sum; float average; for(i=0;i<n;i++) { cout<<"input scores of student"<<i+1<<endl; cout<<"NO.:"; cin>>stu[i].num; cout<<"name:"; cin>>stu[i].name; for(j=0;j<3;j++) {cout<<"score"<<j+1<<":"; cin>>stu[i].score[j];} cout<<endl; } average=0; max=0; maxi=0; for(i=0;i<n;i++) { sum=0; for(j=0;j<3;j++) sum+=stu[i].score[j]; stu[i].avr=sum/3.0; average+=stu[i].avr; if(sum>max) {max=sum; maxi=i;} } average/=n; cout<<" No. name score1 score2 score3 average"<<endl; for(i=0;i<n;i++) {cout<<setw(8)<<stu[i].num<<" "<<setw(10)<<stu[i].name<<" "; for(j=0;j<3;j++) cout<<setw(3)<<stu[i].score[i]<<" "; cout<<stu[i].avr<<endl;} cout<<"average="<<average<<endl; cout<<"The highest score is :"<<stu[maxi].name<<", score total:"<<max<<endl; return 0; }
时间: 2024-03-04 08:50:45 浏览: 62
#include <iostream>
这段代码实现了一个简单的学生成绩管理系统,可以输入学生的学号、姓名和三门课的成绩,计算出每个学生的平均成绩以及全班的平均成绩和最高分。
在输入学生信息时,使用了一个循环,依次输入每个学生的信息。在计算每个学生的平均成绩时,使用了一个循环来累加每个学生的三门课成绩,然后除以3计算平均值。在计算全班平均成绩时,使用了一个变量来累加每个学生的平均成绩,最后除以学生人数。在计算最高分时,使用了一个变量来记录当前最高分以及对应的学生的下标。
在输出信息时,使用了setw函数来设置输出的宽度,使输出的表格更加整齐美观。
这段代码还可以进行一些改进,比如可以将学生信息存储到文件中,实现数据的持久化;可以增加修改和删除学生信息的功能,提高系统的灵活性。
阅读全文