C语言问题

有个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);
}
}

#include<stdio.h> 
#define n 30
typedef struct student{
char name[8];
    int score;
};
student R[n];
int main(void){
int num,i,j,max;
student temp;
    printf("\n请输入学生成绩: \n");
    for(i=0;i<n;i++){
printf("姓名:");
        scanf("%s",&R[i].name);
        scanf("%d",&R[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);
    }
return 0;
}

小错误比较多,格式有点乱,整理代码缩进就花了好久……

基本都是小错误,对比看一下就知道了。

温馨提示:答案为网友推荐,仅供参考