定义学生结构体,包括学号、及三门功课的成绩和总分,按照总分从小到大输出学生学号与总分。 输入

2025-03-21 23:25:05
推荐回答(1个)
回答1:

#include 
#include
struct student
{  
int number;
    int chinese;
    int math;
    int english;
    int sum;
       
};
int main()
{
    struct student a[20],t[20];
    int n,i,j;
    i=0;
    scanf("%d",&n);
    for(i=0;i    { 
scanf("%d%d%d%d",&a[i].number,&a[i].chinese,&a[i].math,&a[i].english); 
        a[i].sum=a[i].chinese+a[i].math+a[i].english;
    } 
    for(i=0;i       for(j=i+1;j          if(a[i].sum > a[j].sum)
          { 
  t[20]=a[i];
              a[i]=a[j];
              a[j]=t[20];
          }  
    for(i=0;i        printf("%d %d\n",a[i].number,a[i].sum);

    system("pause");
    return 0;
}
// 你的t[0] 有问题。还有 最后输出的也有问题,你看看我给你改的答案