第1个回答 2008-12-01
#include <iostream>
#include <string>
using namespace std;
struct Student
{
string name;
int score[7];
};
int main()
{
const int MAX = 2;
Student stu[MAX];
for (int i = 0; i != MAX; ++i)
{
cout << "第"<< i+1 << "位学生姓名: " <<ends;
cin >> stu[i].name;
cout << "第一门课成绩:" << ends;
cin >> stu[i].score[0];
cout << "第二门课成绩:" << ends;
cin >> stu[i].score[1];
cout << "第三门课成绩:" << ends;
cin >> stu[i].score[2];
cout << "第四门课成绩:" << ends;
cin >> stu[i].score[3];
cout << "第五门课成绩:" << ends;
cin >> stu[i].score[4];
cout << "第六门课成绩:" << ends;
cin >> stu[i].score[5];
cout << "第七门课成绩:" << ends;
cin >> stu[i].score[6];
cout << endl;
}
cout << endl;
//每人平均分
int dpj = 0;
cout << "每人平均分: " << endl;
for (int i = 0; i != MAX; ++i)
{
cout << stu[i].name << endl;
dpj = (stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+
stu[i].score[3]+stu[i].score[4]+stu[i].score[5]+
stu[i].score[6]) / 7;
cout << dpj << endl << endl;
}
//课程平均分
for (int j = 0; j != 7; ++j)
{
dpj = 0;
for (int i = 0; i != MAX; ++i)
{
dpj += stu[i].score[j];
}
cout << "第" << j+1 << "门课平均分: " << dpj << endl;
}
return 0;
}
//不知你课程名称!所以以代号代替了本回答被提问者采纳
第2个回答 2008-12-03
#include<iostream>
using namespace std;
void main()
{
int a[20][7],j=0;
int total=0,average,gradeCounter=0,grade,i;
for(i=0;i<20;i++)
{
while(gradeCounter<7)
{
cout<<"Enter grade: ";
cin>>grade;
a[i][gradeCounter]=grade;
total+=grade;
gradeCounter++;
}
average=total/7;
a[i][j]=average;
j++;
}
cout<<"\n每人平均分排序为:";
for(i=0;i<19;i++)
{
for(j=0;j<6;j++)
{
for(int k=1;k<7;k++)
{
if(a[i][j]>a[i][k])
{
int temp=a[i][j];
a[i][j]=a[i][k];
a[i][k]=temp;
}
}
}
for(int u=0;u<7;u++)
{
cout<<a[i][u]<<" ";
}
cout<<endl;
}
cout<<"\n每门课的排序为:";
for(i=0;i<7;i++)
{
for(int x=0;x<19;x++)
{
for(int y=1;y<20;y++)
{
if(a[i][x]>a[i][y])
{
int e=a[i][x];
a[i][x]=a[i][y];
a[i][y]=e;
}
}
}
cout<<a[i][x]<<" ";
}
}