永发信息网

有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩······请看下面

答案:2  悬赏:20  手机版
解决时间 2021-01-30 05:57
  • 提问者网友:書生途
  • 2021-01-29 08:06
有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。请用结构体和动态链表解答。
最佳答案
  • 五星知识达人网友:不如潦草
  • 2021-01-29 08:41
新生吧
这个是唐浩强的<<C 程序设计>>的一道习题 以前做过
我这有源代码 给你吧
#include <iostream>
#include <string>
#include <cmath>
#include <iomanip>
using namespace std;
#include <iostream>
const int n=10;
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;<br/> cout<<"NO.:";<br/> cin>>stu[i].num;<br/> cout<<"name:";<br/> cin>>stu[i].name;<br/> for (j=0;j<3;j )<br/> {<br/> cout<<"score "<<j 1<<":";<br/> cin>>stu[i].score[j];<br/> }
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[j]<<" ";
cout<<stu[i].avr<<endl;
}
cout<<"average="<<average<<endl;
cout<<"The highest score is :"<<stu[maxi].name<<", score total:"<<max<<endl;
return 0;
}
全部回答
  • 1楼网友:一秋
  • 2021-01-29 10:11
不明白啊 = =!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯