注册 登录
编程论坛 C语言论坛

结构体 比较大小

gc1312694490 发布于 2020-12-05 17:47, 1204 次点击
#include <stdio.h>

struct student{

        char name[30];
        int score;
        
    };

int main() {
    int i,j,k;
    struct student t;
    struct student min[5];
    printf("Please enter information for five students:\n");
    for(i=0;i<5;i++)
     { scanf("%s %d",min[i].name,&min[i].score);
     }
     for(i=0;i<5;i++)
      {
        for(j=1;j<4-i;j++)
        if(min[j].score>min[i].score)
           
          t=min[i];
          min[j]=min[i];
          min[i]=t;
      }
      for(i=0;i<5;i++)
     printf("%s %d\n",min[i].name,min[i].score);
    return 0;
}
输入五个学生名字和成绩 比较成绩大小  大神帮我看看那出错了
2 回复
#2
rjsp2020-12-05 20:57
其它不谈,代码排版一下会吧

程序代码:
#include <stdio.h>

struct student
{
    char name[30];
    int score;
};

int main( void )
{
    puts( "Please enter information for five students:" );
    struct student a[5];
    for( size_t i=0; i!=sizeof(a)/sizeof(*a); ++i )
        scanf( "%s%d", a[i].name, &a[i].score );

    for( size_t i=0; i!=sizeof(a)/sizeof(*a); ++i )
    {
        for( size_t j=i+1; j!=sizeof(a)/sizeof(*a); ++j )
        {
            if( a[j].score > a[i].score )
            {
                struct student t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
    }

    for( size_t i=0; i!=sizeof(a)/sizeof(*a); ++i )
        printf( "%s %d\n", a[i].name, a[i].score );
}
#3
gc13126944902020-12-05 22:12
回复 2楼 rjsp
谢谢你
1