题目1200:最大的两个数

来源:互联网 发布:美发软件哪个好 编辑:程序博客网 时间:2024/06/05 18:50
#include<iostream>using namespace std;int main (){    int n;    while(cin>>n)    {        while(n--)        {            int a[4][5],b[2][5],c[4][5];            int jishu,num1=0,num2=0,fff,duihuan;            int i,j,max,k;            for(i=0; i<4; i++)              // 输入四行五列的数据            {                for(j=0; j<5; j++)                {                    cin>>a[i][j];                    c[i][j]=a[i][j];                }            }            for(j=0; j<5; j++)            {                for(i=0; i<4; i++)          //每列从大到小排序                {                    max=a[i][j];                    for(k=i; k<4; k++)                    {                        if(max<a[k][j])                        {                            max=a[k][j];                            a[k][j]=a[i][j];                            a[i][j]=max;                        }                    }                }            }            for(j=0; j<5; j++)               // b[][]为每列的最大的两个数            {                for(i=0; i<2; i++)                {                    b[i][j]=a[i][j];                }            }            fff=0;            while(fff!=5)            {                // 判断最大的两个数的行数                for(i=0; i<4; i++)                {                    if(c[i][fff]==b[0][fff])                    {                        num1=i;                        break;                    }                }                for(i=0; i<4; i++)                {                    if(c[i][fff]==b[1][fff])                    {                        num2=i;                        break;                    }                }                if(num2<num1)                    // 行小的在前                {                    duihuan=b[0][fff];                    b[0][fff]=b[1][fff];                    b[1][fff]=duihuan;                }                fff++;            }            for(i=0; i<2; i++)               // 输出每列最大的两个数            {                for(j=0; j<5; j++)                {                    if(j==4) cout<<b[i][j]<<' '<<endl;                    else     cout<<b[i][j]<<' ';                }            }        }    }    return 0;} /**************************************************************    Problem: 1200    User: cust123    Language: C++    Result: Accepted    Time:30 ms    Memory:1520 kb****************************************************************/

0 0
原创粉丝点击