有个c语言编程题 题目如下:
统计成绩
[问题描述]给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法:
按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;
按名次列出每个学生的姓名与分数。
[基本要求]学生的考试成绩表必须通过键盘输入数据而建立,同时要对输出进行格式控制。
然后写了以下的代码 但是编译过不了 求大神指导下哪里错了 正确的应该咋样
#define n 30
typedef struct student
{ char name[8];
int score;
}
student R[n];
main ( )
{ int num, i, j, max, temp;
printf(“\n请输入学生成绩: \n”);
for (i=0; i<n; i++)
{ printf (“姓名:”);
scanf (“%s”, &stu[i].name);
scanf (“%4d”, &stu[i].score);
}
num=1;
for (i=0; i<n; i++)
{ max=i;
for (j=i+1; j<n; j++)
if (R[j].score>R[max].score)
max=j;
if (max!=i)
{ temp = R[max];
R[max]=R[i];
R[i]= temp;
}
if ((i>0)&&(R[i].score<R[i-1].score))
num=num+1;
printf(“%4d%s%4d”, num, R[i].name, R[i].score);
}
}
小错误比较多,格式有点乱,整理代码缩进就花了好久……
基本都是小错误,对比看一下就知道了。