关于#c++#的问题,请各位专家解答!

报错怎么处理


```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;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^