C语言编程的问题!!!!!求高手指点!!!指出我错在哪....><

#include<stdio.h>#defineN10voidpaixun(inti,intj,structstudentstu[N],structscoresco[N]... #include<stdio.h>
#define N 10

void paixun(int i,int j,struct student stu[N],struct score sco[N]);
struct student
{
long number;
float score[3];
struct score;} ;
struct score
{ float sum,aver;}

struct student stu[N];
struct score sco[N];
struct t;
int i,j;

void main()
{
for(i=1;i<=N;i++)
{ printf("please input %dth student's number and three score: \n",i);
scanf("%ld%f%f%f",&stu[i].number,&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
}
for(i=1;i<=N;i++)
{for(j=1;j<=3;j++)
{ sco[i].sum+=stu[i].score[j];
sco[i].aver+=sco[i].sum/3;}
}
paixun();
}
void paixun(int i,int j,struct student stu[N],struct score sco[N])
{ for(i=1;i<=N;i++)
for(j=i;j<=N-i;j++)
if(sco[i].sum>sco[i+1].sum)
{struct t=stu[i];
stu[i]=stu[i+1];
stu[i+1]=struct t;}

for(i=1;i<=N;i++)
printf("%dth student's score:%d%ld%f%f%f,sum=%f,aver=%f\n",i,stu[i].number,stu[i].score[1],stu[i].score[2],stu[i].score[3],sco[i].sum,sco[i].aver );

}

error C2236: unexpected 'struct' 'student'
error C2660: 'paixun' : function does not take 0 parameters
error C2513: 'struct t' : no variable declared before '='
error C2226: syntax error : unexpected type 't'
Error executing cl.exe.

4 error(s), 0 warning(s)
要输入10个学生的3科成绩,再用函数进行成绩高低排序....最后输出...
因为不懂结构体不知错在哪0~0
展开
 我来答
黄邦勇帅哥哥
2011-12-16 · TA获得超过3987个赞
知道大有可为答主
回答量:1199
采纳率:100%
帮助的人:484万
展开全部
发现几个错误,但是怎么写这个程序自已搞吧,我看到一大堆,真头痛
错误1:
struct score
{ float sum,aver;}; //这后面加上分号
错误2:
struct t; 这是什么意思?要创建结构体的变量,直接使用struct定义时后面的名字就行了比如student t或者score t;你的struct t这种错误还不止一处,在paixun()这个函数里也有。

错误3:
main函数里调用paixun()函数,是不是要带上足够的参数?你一个都不带怎么行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
2011-12-16 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
struct score的定义后面忘加分号了
paixun函数声明的是有参数的,你调用时没写参数
paixun函数里的struct t要改成struct student t。而且struct只需要在定义时写,后面使用t的时候直接写t就行了,不用写struct t
追问
是这样子么??T.T...好难过..不是很懂改...

void paixun(struct student t,struct score t,struct t)
追答
既然你的stu和sco是全局变量,那么你的paixu函数用不着任何参数,直接就能使用全局变量的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e8268a2
2011-12-16 · TA获得超过145个赞
知道答主
回答量:88
采纳率:0%
帮助的人:71.3万
展开全部
试试这个
#include<stdio.h>
#define N 10

void paixun(int i,int j,struct student stu[N],struct score sco[N]);
struct student
{
long number;
float score[3];
struct score;} ;
struct score
{ float sum,aver;};

struct student stu[N];
struct score sco[N];
struct t;
int i,j;

void main()
{
for(i=1;i<=N;i++)
{ printf("please input %dth student's number and three score: \n",i);
scanf("%ld%f%f%f",&stu[i].number,&stu[i].score[1],&stu[i].score[2],&stu[i].score[3]);
}
for(i=1;i<=N;i++)
{for(j=1;j<=3;j++)
{ sco[i].sum+=stu[i].score[j];
sco[i].aver+=sco[i].sum/3;}
}
paixun(N,N,stu,sco);
}
void paixun(int i,int j,struct student stu[N],struct score sco[N])
{ for(i=1;i<=N;i++)
for(j=i;j<=N-i;j++)
if(sco[i].sum>sco[i+1].sum)
{struct student t=stu[i];
stu[i]=stu[i+1];
stu[i+1]=t;}

for(i=1;i<=N;i++)
printf("%dth student's score:%d%ld%f%f%f,sum=%f,aver=%f\n",i,stu[i].number,stu[i].score[1],stu[i].score[2],stu[i].score[3],sco[i].sum,sco[i].aver );

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fxd2010_bd
2011-12-16 · 超过21用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:43.7万
展开全部
struct student
{
long number;
float score[3];
struct score;} ;
struct score
{ float sum,aver;}
难道是这两个定义的位置问题,换一下位置试试
追问
= =这样就有41个错误了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式