障脑球 2021-06-13 10:46 采纳率: 50%
浏览 314
已采纳

c语言学生成绩排序(结构体)

如图,求大神解答呜呜呜急求

  • 写回答

4条回答 默认 最新

  • 关注
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
     int n;
    struct person
    {
        char id [20];
        char name [20];
        int s1,s2,s3;
        int sum;
    } p[100];
    
    void input()
    {
    
        scanf("%d",&n);
        for(int i=0; i<n; i++)
        {
            p[i].sum=0;
            scanf("%s %s %d %d %d",p[i].id,p[i].name,&p[i].s1,&p[i].s2,&p[i].s3);
            p[i].sum+=p[i].s1+p[i].s2+p[i].s3;
        }
    
    }
    int main()
    {
        int i,j,t,m;
        input();
        for(i=0;i<n;i++)    {
        	for(j=0;j<n-i-1;j++){
    			if(p[j].sum<p[j+1].sum)
    			{
                   char str[101],str1[101];
    		       m=p[j].s1;
                   p[j].s1=p[j+1].s1;
                   p[j+1].s1=m;
    
                   m=p[j].s2;
                   p[j].s2=p[j+1].s2;
                   p[j+1].s2=m;
    
                   m=p[j].s3;
                   p[j].s3=p[j+1].s3;
                   p[j+1].s3=m;
    
                   m=p[j].sum;
                   p[j].sum=p[j+1].sum;
                   p[j+1].sum=m;
    
                    strcpy(str,p[j+1].name);
                    strcpy(p[j+1].name,p[j].name);
                    strcpy(p[j].name,str) ;
    
                    strcpy(str1,p[j+1].id);
                    strcpy(p[j+1].id,p[j].id);
                    strcpy(p[j].id,str1) ;
    				}
    		 }
    	}
        for(i=0; i<n; i++)
        {
            printf("%s %s %d %d %d %d\n",p[i].id,p[i].name,p[i].s1,p[i].s2,p[i].s3,p[i].sum);
    }
        }
    
    /* 5
    101 张三 80 76 98
     102 李四 96 56 78
     103 王五 64 89 63
     104 小二 62 54 86
     105 小四 78 86 91*/
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助