大家帮忙调试一下,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:19:11
#include <stdio.h>
#define N_MAX 50 //假定一个班级不超过50人
#define L_NAME 20 //假定一个人姓名不超过20个字符
typedef struct //定义结构类型名,作为整体变量
{
char name[L_NAME], updown;
long number;
int chinese,math,eng ;
float ave; //平均成绩
} student ; //结构类型别名

int main (void)
{
int n,i,k=0;
student class1[N_MAX];
printf("请输入总人数:"); //要求总人数不超过N_MAX
scanf("%d",&n);
for (i=0,i<n,i++)
{
printf("请输入学号和姓名:\n");
scanf("%ld %s",&class1[i].number , &class1[i].name);
printf("请输入该学生的语文、数学、英语成绩:\n");
scanf("%d %d %d ",&class1[i].chinese,&class1[i].math,&class1[i].eng);
}
/*以下是计算平均成绩,并确定其升/留级的程序段,次循环可与上一个循环合并*/
for (i=0,i<n,i++)
{
class1[i].ave=(class1[i].chinese+class1[i].math+class1[i].eng)/3.0;//注意实数除法与整数除法的区别
if(class1[i].ave<60)
{
class1[i].upd

for (i=0;i<n;i++) 你用的是“,”,其实中间的是“;”
好了,调好了。

ubuntu+gcc通过。

这个要小心,你些成了,表达式了。

printf("%ld,%s,%d,%d,%d,%6.1f,staydown !\n",class1[i].number,class1[i].name,class1[i].chinese,class1[i].math,class1[i].eng,class1[i].ave);//以下输出升级人员的名单及其分数
printf("共%d名学生升级他们是:\n",n-k);
for(i=0,i<n,i++)
if(class1[i].updown=='Y') //若是升级,则输出之
printf("%ld,%s,%d,%d,%d,%6.1f,staydown !\n",class1[i].number,class1[i].name,class1[i].chinese,class1[i].math,class1[i].eng,class1[i].ave);
}
里边的 加号 改逗号。

你运行一下,说出有什么问题? 好吗?

看不懂 你小子!