一个C语言程序设计题,急求解答~~

有n个学生,要求录入基本信息(姓名、性别、学号、成绩等)。可以输出学生排名,平均成绩,学生名单,成绩单,计算学分。... 有n个学生,要求录入基本信息(姓名、性别、学号、成绩等)。
可以输出学生排名,平均成绩,学生名单,成绩单,计算学分。
展开
 我来答
boyue163
2009-04-05 · TA获得超过7643个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:286万
展开全部
我这里有个曾经写过的学籍管理,希望可以给你灵感
#include <iostream>
#include <iomanip>
using namespace std;
const int q=3,w=6;
int a[q][w];
void input(int k); //输入数组
void max_chengji(int k,int a[][6],int b); //求个人成绩的最大值
int max_danke(int k,int a[][6]); //求单科成绩的最大值
int max_all(int a[][6]); //求所有成绩的最大值
void main()
{ int m,n,d;
int b,c,z=0;
float average,num=0;
int i;
for(i=0;i<q;i++)
input(i);
cout<<endl;
cout<<setw(12)<<"学号"<<setw(12)<<"语文(1)"<<setw(12)<<"数学(2)"<<setw(12)<<"外语(3)"<<setw(12)<<"c++(4)"<<setw(12)<<"物理(5)"<<endl;
for(m=0;m<3;m++)
{
for(n=0;n<6;n++)
{
cout<<setw(12)<<a[m][n];
}
cout<<endl; //?解决输入时学号与数组序列的对应问题?
}
cout<<"请输入你的学号:"<<endl;
cin>>b;
while((b<1)||(b>3))
{ cout<<"没有此学号.";
cout<<"请重新输入你的学号:"<<endl;
cin>>b;
}
cout<<"学号为"<<b<<",总成绩为:"<<endl;
c=b-1;
for(n=1;n<6;n++)
{
num=num+a[c][n];
}
cout<<num<<endl;
cout<<"你的平均分为:"<<endl;
average=num/5;
cout<<average<<endl;
max_chengji(c,a,b);
cout<<endl;
cout<<"请输入你要查寻的科目号:"<<endl;
cin>>d;
cout<<"单科成绩的最大值为:"<<max_danke(d,a)<<endl;
cout<<"所有成绩的最大值为:"<<max_all(a)<<endl; //?分别输出时可运行,同时输出时不可运行?
}

void input(int k)
{
cout<<"student "<<k+1<<" num:";
cin>>a[k][0];
cout<<"student "<<k+1<<" subject 语文(1) score:";
cin>>a[k][1];
cout<<"student "<<k+1<<" subject 数学(2) score:";
cin>>a[k][2];
cout<<"student "<<k+1<<" subject 外语(3) score:";
cin>>a[k][3];
cout<<"student "<<k+1<<" subject c++(4) score:";
cin>>a[k][4];
cout<<"student "<<k+1<<" subject 物理(5) score:";
cin>>a[k][5];
}

void max_chengji(int c,int a[][6],int b)
{
int n,j,q;
for(n=1;n<2;n++)
{q=n;
for(j=n+1;j<6;j++)
if(a[c][j]>a[c][q])
q=j;
}
cout<<"学号为"<<b<<"的同学最高成绩是:"<<a[c][q]<<endl;
}

int max_danke(int k,int a[][6])
{
int i,max=a[0][k],t;
for(i=1;i<3;i++)
{
if(max<a[i][k])
{
max=a[i][k];
t=i;
}
}
return a[t][k];
}

int max_all(int a[][6])
{ int i,max;
max=max_danke(1,a);
for(i=2;i<6;i++)
{
if(max<max_danke(i, a))
{
max=max_danke(i,a);

}
}

return max;
}
冷血蜈蚣
2009-04-05
知道答主
回答量:21
采纳率:0%
帮助的人:4.5万
展开全部
我没答案但能帮你组织下 可以用数组+比较+计算

先假设有2个学生的资料也就是2个数组
排名是 比较 平均分数的
然后输出 平均成绩 与之对应的学生的数组地址 (名单。成绩。学分)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式