《C语言程序设计》实验报告题目

2007年《C语言程序设计》实验报告题目
已知N个学生的学号、姓名和4门功课的成绩,计算:
(1) 每个学生的总分、平均分。
(2) 按总分从大到小排序,同时调整学号、姓名、4门功课成绩和平均分;输出经排序后全部学生的成绩单。
(3) 任意输入一个学生的学号,输出该学生的成绩单。
注:每一小题用一个函数完成。
对于回答问题的朋友 非常感谢 如若能把答案发到我邮箱 我将更加感激 [email protected]

第1个回答  2008-05-16
#include <iostream.h>
void readscore(float score[][6],long num[],int n)
{
int i,j;
float sum1=0;
for(i=1;i<=n;i++)
{
cout<<"请输入学号:"<<endl;cin>>num[i];
cout<<"请输入数学成绩:"<<endl;cin>>score[i][1];
cout<<"请输入英语成绩:"<<endl;cin>>score[i][2];
cout<<"请输入物理成绩:"<<endl;cin>>score[i][3];

}
for(i=1;i<=n;i++)
{
for(j=1;j<4;j++)
{
sum1=sum1+score[i][j];
}
score[i][4]=sum1;
score[i][5]=sum1/3;
sum1=0;
}
}
void pai(int n,long num[],float score[][6])
{
int i,j,b;
float p;
long k;
for(j=1;j<=n;j++)
{
for(i=1;i<=n-j;i++)
{
if(score[i][4]<score[i+1][4])
{
for(b=1;b<6;b++)
{
p=score[i][b];
score[i][b]=score[i+1][b];
score[i+1][b]=p;
}

k=num[i];
num[i]=num[i+1];
num[i+1]=k;
}

}
}
}
void printf(float score[][6],long num[],int n)
{
int i;
cout<<"学号"<<"\t"<<"数学"<<"\t"<<"英语"<<"\t"<<"物理"<<"\t"<<"总分"<<"\t"<<"平均分"<<endl;
for (i=1;i<=n;i++)
{
cout<<num[i]<<"\t"<<score[i][1]<<"\t"<<score[i][2]<<"\t"<<score[i][3]<<"\t"<<score[i][4]<<"\t"<<score[i][5]<<endl;
}
}
void search(float score[][6],long num[],int n)
{
int i,j;
cout<<"请输入一个学号"<<endl;cin>>j;
for(i=1;i<=n;i++)
{
if(j==num[i])
{
cout<<"名次"<<"\t"<<"学号"<<"\t"<<"数学"<<"\t"<<"英语"<<"\t"<<"物理"<<"\t"<<"总分"<<"\t"<<"平均分"<<endl;
cout<<i<<"\t"<<num[i]<<"\t"<<score[i][1]<<"\t"<<score[i][2]<<"\t"<<score[i][3]<<"\t"<<score[i][4]<<"\t"<<score[i][5]<<endl;
}
}
}
void main()
{
const max=30;
int n,i,j;
float score[max][6];
long num[max];
char goon,y;
do
{
cout<<"请输入全班人数"<<endl;cin>>n;
readscore(score,num,n);
do
{
cout<<"请输入你的选择:"<<endl;
cout<<"进行排名统计(但不输出):1"<<endl;
cout<<"进行打印学生成绩:2"<<endl;
cout<<"搜索某位同学:3"<<endl;
cin>>i;
switch (i)
{
case 1 :pai(n,num,score); break;
case 2 :printf(score,num,n); break;
case 3 :search(score,num,n); break;
}
cout<<"如果你还要进行其他运算请按:y"<<endl;
cin>>goon;
}while(goon=='y');
cout<<"是否进行另一个班的成绩:1"<<endl;cin>>j;
}while(j==1);
}

我觉得还算可以,呵呵本回答被提问者采纳
相似回答