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 展开
#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 展开
4个回答
展开全部
发现几个错误,但是怎么写这个程序自已搞吧,我看到一大堆,真头痛
错误1:
struct score
{ float sum,aver;}; //这后面加上分号
错误2:
struct t; 这是什么意思?要创建结构体的变量,直接使用struct定义时后面的名字就行了比如student t或者score t;你的struct t这种错误还不止一处,在paixun()这个函数里也有。
错误3:
main函数里调用paixun()函数,是不是要带上足够的参数?你一个都不带怎么行。
错误1:
struct score
{ float sum,aver;}; //这后面加上分号
错误2:
struct t; 这是什么意思?要创建结构体的变量,直接使用struct定义时后面的名字就行了比如student t或者score t;你的struct t这种错误还不止一处,在paixun()这个函数里也有。
错误3:
main函数里调用paixun()函数,是不是要带上足够的参数?你一个都不带怎么行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct score的定义后面忘加分号了
paixun函数声明的是有参数的,你调用时没写参数
paixun函数里的struct t要改成struct student t。而且struct只需要在定义时写,后面使用t的时候直接写t就行了,不用写struct t
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函数用不着任何参数,直接就能使用全局变量的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试这个
#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 );
}
#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 );
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct student
{
long number;
float score[3];
struct score;} ;
struct score
{ float sum,aver;}
难道是这两个定义的位置问题,换一下位置试试
{
long number;
float score[3];
struct score;} ;
struct score
{ float sum,aver;}
难道是这两个定义的位置问题,换一下位置试试
追问
= =这样就有41个错误了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询