一道C语言编程题目急求解!!!!

(1)编程处理某班30个学生、4门功课的成绩,它们是数学、物理、英语和计算机,按学号依次输入学生的学号、姓名和4门功课的成绩。要求以清晰的格式从高分到低分的顺序打印平均分... (1) 编程处理某班30个学生、4门功课的成绩,它们是数学、物理、英语和计算机,按学号依次输入学生的学号、姓名和4门功课的成绩。要求以清晰的格式从高分到低分的顺序打印平均分高于全班总平均分的男生的成绩单(要求:输入、输出、计算和排序分别用函数实现,主程序调用这些函数。且不得使用全局变量)。

#include<stdio.h>
#include<string.h>
#define N 30
void main()
{
void ke_input(int number[N],float score[N][4],char name[N][10]);
float ke_aver(float score[N][4]);
void arrange(float score[N][4],char name[N][10]);
void ke_output(float zero,int number[N],float score[N][4],char name[N][10]);
float avero;
float score1[N][4];
int number1[N];
char name1[N][10];
printf(" No. name math physic english computer\n");
ke_input(number1,score1,name1);
arrange(score1,name1);
avero=ke_aver(score1);
ke_output(avero,number1,score1, name1);
}
void ke_input(int number[N],float score[N][4],char name[N][10])
{
int i;
for(i=0;i<N;i++)
{
printf("please input number,name,math,physic,english,computer\n");
scanf("%d%s%f",&number[i],name[i],score[i]);
}
}
float ke_aver(float score[N][4])
{
int i,j;
float aver,sum=0;
for(j=0;j<4;j++)
for(i=0;i<N;i++)
{
sum+=score[i][j];
}
aver=sum/N;
return(aver);
}
void arrange(float score[N][4],char name[N][10])
{
int i,j,m,n,min;
float temp,s[N]={0};
char mingzi[10];
for(i=0;i<N;i++)
for(j=0;j<4;j++)
{
s[i]+=score[i][j];
}

for(m=0;m<N-1;m++)
{
min=m;
for(n=m+1;n<N;n++)
if(s[min]<s[n])
{ min=n;
temp=s[m];
strcpy(mingzi,name[m]);
s[m]=s[min];
strcpy(name[m],name[min]);
s[min]=temp;
strcpy(name[min],mingzi);
}
}

}
void ke_output(float zero,int number[N],float score[N][4],char name[N][10])
{ int i,j,k;
float s[N]={0};
for(i=0;i<N;i++)
for(j=0;j<4;j++)
s[i]+=score[i][j];
for(k=N-1;k>=0;k--)
if(s[k]<zero)
break;
for(i=N-1;i>k;i--)
{
printf("\n");
for(i=0;j<4;j++)
printf("%6d",score[i][j]);
printf("%d%s",number[i],name[i][10]);
}
}
展开
 我来答
积少成多888
2010-06-24 · TA获得超过287个赞
知道答主
回答量:388
采纳率:0%
帮助的人:183万
展开全部
以前学过点C语言,解决实际问题的时候总是力不从心,不狠狠钻研的话,学了是很难派上用场的,后来,学些SQL语句,处理实际问题的时候,好像简单点
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RoIlsRoyce
2010-06-24
知道答主
回答量:27
采纳率:0%
帮助的人:8.4万
展开全部
其实应该悬赏点分
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式