educoder 头哥 结构体
```c
```本关任务:有n个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序输出学生的信息
#include
#include
struct Students{
long number;
char name[20];
int grade;
};
int main(){
Students stu[10];
int n;
scanf("%d",&n);
for(int i=0;i
{
scanf("%l",&stu[i].number);
scanf("%s",stu[i].name);
scanf("%d",&stu[i].grade);
}
printf("666");
for(int i=0;i
{
for(int j=i+1;j
{
Students Stu;
if(stu[i].grade
{
Stu=stu[i];
stu[i]=stu[j];
stu[j]=Stu;
}
}
}
for(int i=0;i
{
printf("%l ",stu[i].number);
printf("%s ",stu[i].name);
printf("%d\n",stu[i].grade);
}
return 0;
}
似乎跟输入的n也有关系
整出输入
修改如下,供参考:
#include <stdio.h>
#include <stdlib.h>
struct Students {
long number;
char name[20];
int grade;
};
int main() {
Students stu[10];
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++){
scanf("%ld",&stu[i].number);
scanf("%s", stu[i].name);
scanf("%d", &stu[i].grade);
}
printf("666\n");
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++){
Students Stu;
if (stu[i].grade < stu[j].grade)
{
Stu = stu[i];
stu[i] = stu[j];
stu[j] = Stu;
}
}
}
for (int i = 0; i < n; i++) {
printf("%ld ", stu[i].number);
printf("%s ", stu[i].name);
printf("%d\n", stu[i].grade);
}
return 0;
}
麻烦你看一下自己贴出来的代码吧,根本没法阅读啊,都不完整,用代码块格式化一下