#include"stdio.h"
struct STUDENT
{
char id[3];
char name[10];
int score[5];
double ave;
}stu[10];
void main()
{
int num=10,i,j,all=0;
for(i=0;i<num;i++)
{
printf("\t请输入第%d学生的数据:",i+1);
printf("\t学号: ");
scanf("%S",stu[i].id);
printf("\t姓名: ");
scanf("%s",stu[i].name);
j=0;
printf("\t语文课的成绩");
scanf("%d",&stu[i].score[j]);
j++;
printf("\t数学课的成绩");
scanf("%d",&stu[i].score[j]);
j++;
printf("\t物理课的成绩");
scanf("%d",&stu[i].score[j]);
j++;
printf("\t英语课的成绩");
scanf("%d",&stu[i].score[j]);
j++;
printf("\t体育课的成绩");
scanf("%d",&stu[i].score[j]);
}
pj ();
bjg();
yx();
}
void pj(stu[10])
{
int a,b,i;
for(i=0;i<10;i++);
{
a=a+stu[i].score[2];
}
b=a/10;
printf("\tthe everage score is:%d",b);
}
void bjg()
{
int i,j=0,c=0;
for(i=0;i {
for(j=0;j {
if(stu[i].score[j] {c=c++;}
}
if("c>=2");
printf("两门课以上不及格的同学:");
printf("%d\t%d\t%d\t%d\t",stu[i].id,stu[i].name,stu[i].score);
}
}
void yx()
{
int i,j=0,c=0;
for(i=0;i {
for(j=0;j {
if(stu[i].score[j]>=80)
{c=c++;}
}
if("c==5");
printf("优秀学生为:");
printf("%d\t%d\t%d\t%d\t",stu[i].id,stu[i].name,stu[i].score);
}
}
函数要先在main()上先声明.其他错误你看看描述,已经说的很明白了.
在后面定义的函数,需要先声明吧。
代码中的错误还不是一般的多啊,编译的错误你认真检查一下,应该都可以解决的。
1.void pj(stu[10])修改成void pj()
2.把main函数整个移动到代码的最后面或者在main脑袋顶上加函数前置声明void pj(); void big(); void yx();
首先调用函数未在头文件处声明
其次pj()的形参要声明类型
%S要写成%s,大小写不能混淆
c语言的函数声明应该写在main()之前,或者,把你的整个函数都写在main()之前,
这个问题是新手常犯的错误,我建议您,下次如果遇到这样类似的问题,应静下心来,独立解决!
这样进步就比较快。
吧函数声明写在main()之前
函数声明要写在主函数之前。。。。
函数声明要写在主函数之前。。。。
小错误挺多。。
函数未在头文件处声明
pj()的形参要声明类型
%S要写成%s