C语言问题
有个c语言编程题题目如下:统计成绩[问题描述]给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法:按分数高低次序,打印出每个学生在考试中获得的名次,分数相...
有个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);
}
} 展开
统计成绩
[问题描述]给出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;
}
小错误比较多,格式有点乱,整理代码缩进就花了好久……
基本都是小错误,对比看一下就知道了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询