数组以及冒泡排序练习——分数排名题

题目描述:现有6名学生需要把他们的数学、语文、英语成绩按总分高低排出名次;

输入:6名学生的数学、语文、英语成绩;

输出:6名学生的数学、语文、英语成绩以及总分,要求按照总分由高分到低分输出,每名学生一行;



#include<stdio.h>  
int main()  
{  
    int a[6][4]; 
    int i,j;
    for(i=0;i<6;i++)                      //输入成绩  
    {  
        for(j=0;j<3;j++)  
            scanf("%d",&a[i][j]);  
        a[i][3]=a[i][0]+a[i][1]+a[i][2]; 
    }  
    for(i=0;i<5;i++)                      //冒泡排序,注意i<5(防止下标越界且只用排5次)  
        for(j=0;j<5-i;j++)            //每次循环(5-i)位后的已经排好了  
        {  
            if(a[j][3]<a[j+1][3])  
            {  
                int k; 
                for(k=0;k<4;k++)  //此处易忽视,交换总分时,每门课的成绩也应该交换              
				{  
                    int t; 
                    t=a[j][k];a[j][k]=a[j+1][k];a[j+1][k]=t;    
                }  
            }  
        }  
    printf("  数学  英语  语文  总分\n"); //输出,注意格式  
    for(i=0;i<6;i++)  
    {  
        for(j=0;j<4;j++)  
            printf("%6d",a[i][j]); 
        printf("\n"); 
          
    }  
  
}  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值