1、从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放),按下列要求编程:①求出每个学生的总分;②求出每门课程的平均分;③调用函数实现排序,之后
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/02 12:11:48
1、从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放),按下列要求编程:①求出每个学生的总分;②求出每门课程的平均分;③调用函数实现排序,之后
1、从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放),按下列要求编程:
①求出每个学生的总分;②求出每门课程的平均分;③调用函数实现排序,之后按总分的升序,分别输出每个学生的姓名、总分及各科成绩
麻烦写一下该编程题 谢谢!
1、从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放),按下列要求编程:①求出每个学生的总分;②求出每门课程的平均分;③调用函数实现排序,之后
题:
#include<iostream>
using namespace std;
int main()
{
double s1[2][3];
double s2[3][2];
int i,j;
for( i=0;i<2;i++)
for( j=0;j<3;j++)
{
cin>>s1[i][j];
s2[j][i]=s1[i][j];
}
cout<<"s1中各元素:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
cout<<s1[i][j]<<" ";
cout<<endl;
}
cout<<"s2中各元素:"<<endl;
for( i=0;i<3;i++)
{
for( j=0;j<2;j++)
cout<<s2[i][j]<<" ";
cout<<endl;
}
return 0;
}
2题:
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
string name;
double grade[3];
double total ;
friend ostream& operator<<(ostream&,Student &);
friend istream& operator>>(istream&,Student &);
};
int main()
{
Student s[4];
double average[3];
int i,j;
for(i=0;i<4;i++)
{
cout<<"请依次输入第"<<i+1<<"个学生的:姓名+三门功课成绩"<<endl;
cin>>s[i];
s[i].total=s[i].grade[0]+s[i].grade[1]+s[i].grade[2];
}
cout<<endl;
for( i=0;i<3;i++)
{
average[i]=(s[0].grade[i]+s[1].grade[i]+s[2].grade[i]+s[3].grade[i])/4;
cout<<"第"<<i+1<<"门课程成绩的平均分是:"<<average[i]<<endl;
}
double b[2][4];
for( i=0;i<4;i++)
{
b[0][i]=i;
b[1][i]=s[i].total;
}
int c;
double d;
for( i=0;i<3;i++)
for( j=i+1;j<4;j++)
if(b[1][j]>b[1][i])
{
c=b[0][i];
d=b[1][i];
b[0][i]=b[0][j];
b[1][i]=b[1][j];
b[0][j]=c;
b[1][j]=d;
}
cout<<endl<<"按总成绩排列输出为:"<<endl<<endl;
for(i=0;i<4;i++)
cout<<s[int(b[0][i])]<<endl;
return 0;
}
ostream& operator<<(ostream &output,Student &a)
{
output<<a.name<<"的三门功课成绩为:"<<endl;
for(int i=0;i<3;i++)
output<<a.grade[i]<<endl;
output<<"总成绩为:"<<a.total<<endl;
return output;
}
istream& operator>>(istream &input,Student &a)
{
input>>a.name;
for(int i=0;i<3;i++)
input>>a.grade[i];
return input;
}