C程序出错,求高手解答···

此程序可运行,但是输入的时候一点就跳出来了,不知怎么回事#include<stdio.h>intcour;intnum[40];floata[40][7];intorde... 此程序可运行,但是输入的时候一点就跳出来了,不知怎么回事

#include<stdio.h>
int cour;
int num[40];
float a[40][7];
int order[40];
main()
{ int i,j;
void input(int num[40],float a[40][7]);
void count(float a[40][7]);
void sort(float a[40][7],int order[40]);
void serch1(int num[40],float a[40][7],int order[40]);
void serch2(int num[40],float a[40][7]);
printf("\n");
}
void input(int num[40],float a[40][7])
{ int i,j;
for(i=0;i<40;i++)
{ printf("\nInput num of student%3d:\n",i+1);
scanf("%8d\n",num[i]);
printf("\nInput score of student:\n");
for(j=0;j<5;j++)
scanf("%8.2f",&a[i][j]);
}
}

void count(float a[40][7])
{ int i,j;
float s;
for(i=0;i<40;i++)
{ s=0;
for(j=0;j<5;j++)
{ s+=a[i][j];
a[i][5]=s/5.0;
a[i][6]=s;
}
}
}

void sort(float a[40][7],int order[40])
{ int i,j,max;
float t;
for(i=1;i<39;i++)
{ max=i;
for(j=0;j<40-i;j++)
if(a[max][6]<a[j][6])
{ max=j;
order[i]=max;
t=a[max][6];
a[max][6]=a[j][6];
a[j][6]=t;
}
}
for(i=0;i<40;i++)
for(j=0;j<7;j++)
printf("\n%8d,%8.2f\n",num[order[i]],a[order[i]][j]);
}

void serch1(int num[40],float a[40][7],int order[40])
{ int i,j,max;
float t;
for(i=0;i<40;i++)
{ max=i;
for(j=i;j<40;j++)
if(a[max][6]<a[j][6])
{ max=j;
order[i]=max;
t=a[max][6];
a[max][6]=a[j][6];
a[j][6]=t;
}
}
printf("Please input a cour:\n");
scanf("%d\n",cour);
if(cour>=1&&cour<=5)
{for(i=0;i<10;i++)
if(a[order[i]][j]>85.0)
printf("\n%8d%8.2f\n",num[order[i]],a[order[i]][j],order[i]);
}

void serch2(int num[40],float a[40][7])
{ int i,j;
printf("The fail:\n");
int input(int num[40],float a[40][7]);
float count(float a[40][7]);
for(i=0;i<40;i++)
for(j=0;j<7;j++)
if(a[i][6]<60.0)
printf("%8d,%8.2f,%d\n",num[i],a[i][j]);
}
}
展开
 我来答
DesireFish
2013-06-23 · TA获得超过298个赞
知道小有建树答主
回答量:226
采纳率:100%
帮助的人:117万
展开全部
这个main函数,只有printf("\n");会执行到,main函数中上面的几条语句仅仅对下面的几个函数做了一个声明,不会执行到的。
追问
那要怎么改,,是函数调用出问题了么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu0904
2013-06-23 · TA获得超过222个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:456万
展开全部
main()
{ int i,j;
void input(int num[40],float a[40][7]);
void count(float a[40][7]);
void sort(float a[40][7],int order[40]);
void serch1(int num[40],float a[40][7],int order[40]);
void serch2(int num[40],float a[40][7]);
printf("\n");
}
这里只有函数声明和一个输出换行的语句,没直接退就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
somken
推荐于2016-11-26 · TA获得超过711个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:156万
展开全部
int cour;
int num[40];
float a[40][7];
int order[40];
void main()
{ int  i,j;
  void  input(int num[40],float a[40][7]);
  void  count(float a[40][7]);
  void  sort(float a[40][7],int order[40]);
  void   serch1(int num[40],float a[40][7],int order[40]);
  void   serch2(int num[40],float a[40][7]); 
  
  //调用
  input(num,a);
  count(a);
  sort(a,order);
  
     
  printf("\n");
}



修改一下 试试

追问
函数可以调用了,,但是有些功能还是不能显示
应该是我函数写的有点问题吧,我再改改······
追答
好的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式