请大神帮忙看一下c语言错误,它一直显示少分号 50
#include<stdio.h>#defineN35#defineCOURSE4#include<math.h>structstudent//定义结构体数据用于缓存数据...
#include <stdio.h>
#define N 35
#define COURSE 4
#include <math.h>
struct student //定义结构体数据用于缓存数据
{
long int number; //学号
float score[4]; //四门课程成绩
float sum; //总分
float aver; //平均分
}stu[N];
void input(struct student stu[]) //由键盘输入每个学生的学号和四门课程的成绩
{
int i,j;
for(i=0;i<n;i++)
{ printf("输入学号\n");
scanf("%ld",&stu[i].number); //输入学号
printf("输入四门成绩\n");
for(j=0;j<COURSE;j++)
{
scanf("%f",&stu[i].score[j]); //循环输入四门成绩
}
}
}
void count(struct student stu[])
{
float sum;
float aver;
int i,j;
for(i=0;i<n;i++)
{
sum=0;
for(j=0;j<5;j++)
{
sum=sum+stu[i].score[j];
aver=sum/4;
stu[i].sum=sum;
stu[i].aver=aver;
}
}
}
void sort(struct student stu[]) //按总分从高到低排出名次
{
int i,j,max;
struct student t;
for(i=0;i<n;i++)
{
max=i;
for(j=j+i;j<n;j++)
if(stu[max].sum<stu[j].sum)
max=j;
if(max!=i)
{
t=stu[i];
stu[i]=stu[max];
stu[max]=t;
}
}
printf("排序结果为:\n");
printf("学号 成绩1 成绩2 成绩3 成绩4 总分 平均分\n");
for(i=0;i<N;i++)
{
printf("%ld*%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",stu[i].number,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);
}
}
void serch(struct student stu[]) //根据用户需求输出某门课程成绩在90分以上(含90分)且总分在前5名的学生成绩情况
{
int i,j,k;
printf("请输入课程号:");
scanf("%d",&k);
if(k<1||k>4)
{
printf("error\n");
return;
}
k=k-1;
printf("课程%d成绩在90分以上(含90分)且总分在前5名的学生成绩情况\n",k+1);
for(i=0;i<5;i++)
{
if(stu[i].score[k]>=90)
{
printf("学号:%ld",stu[i].number);
for(j=0;j<4;j++)
{
printf("课程%d:%f\n",j+1,stu[i].score[j]);
}
printf("平均分:%f\n",stu[i].aver);
printf("总分:%f\n",stu[i].sum);
printf("\n");
}
}
}
void main()
{
int n;
printf("请输入学生个数:");
scanf("%d",&n);
void input(struct student stu[n]);
void count(struct student stu[n]);
void sort(struct student stu[n]);
void serch(struct student stu[n]);
} 展开
#define N 35
#define COURSE 4
#include <math.h>
struct student //定义结构体数据用于缓存数据
{
long int number; //学号
float score[4]; //四门课程成绩
float sum; //总分
float aver; //平均分
}stu[N];
void input(struct student stu[]) //由键盘输入每个学生的学号和四门课程的成绩
{
int i,j;
for(i=0;i<n;i++)
{ printf("输入学号\n");
scanf("%ld",&stu[i].number); //输入学号
printf("输入四门成绩\n");
for(j=0;j<COURSE;j++)
{
scanf("%f",&stu[i].score[j]); //循环输入四门成绩
}
}
}
void count(struct student stu[])
{
float sum;
float aver;
int i,j;
for(i=0;i<n;i++)
{
sum=0;
for(j=0;j<5;j++)
{
sum=sum+stu[i].score[j];
aver=sum/4;
stu[i].sum=sum;
stu[i].aver=aver;
}
}
}
void sort(struct student stu[]) //按总分从高到低排出名次
{
int i,j,max;
struct student t;
for(i=0;i<n;i++)
{
max=i;
for(j=j+i;j<n;j++)
if(stu[max].sum<stu[j].sum)
max=j;
if(max!=i)
{
t=stu[i];
stu[i]=stu[max];
stu[max]=t;
}
}
printf("排序结果为:\n");
printf("学号 成绩1 成绩2 成绩3 成绩4 总分 平均分\n");
for(i=0;i<N;i++)
{
printf("%ld*%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",stu[i].number,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].aver);
}
}
void serch(struct student stu[]) //根据用户需求输出某门课程成绩在90分以上(含90分)且总分在前5名的学生成绩情况
{
int i,j,k;
printf("请输入课程号:");
scanf("%d",&k);
if(k<1||k>4)
{
printf("error\n");
return;
}
k=k-1;
printf("课程%d成绩在90分以上(含90分)且总分在前5名的学生成绩情况\n",k+1);
for(i=0;i<5;i++)
{
if(stu[i].score[k]>=90)
{
printf("学号:%ld",stu[i].number);
for(j=0;j<4;j++)
{
printf("课程%d:%f\n",j+1,stu[i].score[j]);
}
printf("平均分:%f\n",stu[i].aver);
printf("总分:%f\n",stu[i].sum);
printf("\n");
}
}
}
void main()
{
int n;
printf("请输入学生个数:");
scanf("%d",&n);
void input(struct student stu[n]);
void count(struct student stu[n]);
void sort(struct student stu[n]);
void serch(struct student stu[n]);
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询