报错怎么处理
```c++
#include
#include"string.h"
enum SEX{
GIRL, BOY
};
struct SStudent{
int num; //学号
char name[20]; //姓名
enum SEX sex; //性别
};
struct SStudentEx
{
struct SStudent base;
float usual; //平时成绩
float mid; //期中成绩
float final; //期末成绩
float total; //期末成绩
}stu[10];
int main()
{
int i,j,n;char t;
scanf("%d",&n);
for(i=0;iscanf("%d%s%s%s",&stu[i].base.num,stu[i].base.name,&stu[i].base.sex,&stu[i].usual,&stu[i].mid,&stu[i].final);}
for(i=0;i0.1+stu[i].mid*0.2+stu[i].final*0.7;}
for(i=0;ifor(j=0;jif(stu[i].totalfor(i=0;iprintf("%s",stu[i].base.num);
}
```
字符串比较和字符比较两者是不同的
#include <stdio.h>
#include <string.h>
enum SEX{
GIRL, BOY
};
struct SStudent{
int num; //学号
char name[20]; //姓名
enum SEX sex; //性别
};
struct SStudentEx
{
struct SStudent base;
float usual; //平时成绩
float mid; //期中成绩
float final; //期末成绩
float total; //期末成绩
}stu[10];
int main()
{
int i,j,n;
char t[20];
scanf("%d",&n);
for(i=0;i<n;i++) {
scanf("%d%s%d%f%f%f",&stu[i].base.num, stu[i].base.name, &stu[i].base.sex, &stu[i].usual, &stu[i].mid, &stu[i].final);
}
for(i=0;i<n;i++) {
stu[i].total=stu[i].usual*0.1+stu[i].mid*0.2+stu[i].final*0.7;
}
for(i=0;i<n-1;i++) {
for(j=0;j<n-i-1;j++) {
if(stu[j].total < stu[j+1].total) {
struct SStudentEx temp = stu[j];
stu[j] = stu[j+1];
stu[j+1] = temp;
}
}
}
for(i=0;i<n;i++) {
printf("%s\n",stu[i].base.name);
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: