题解 | #最大的两个数#

最大的两个数

https://www.nowcoder.com/practice/7385949943264a9fa4348cbd43e6e00c

#include <bits/stdc++.h>
using namespace std;
int main() {
    int arr[4][5];
    for(int i =0;i<4;i++)
        for(int j =0;j<5;j++)
            cin>>arr[i][j];
    //按列开始处理
    for(int j=0;j<5;j++){
        //求本列最小值,然后置为最小
        int times=2;
        while(times--){
             int nowMin = INT_MAX;
            int tarI,tarJ;
            for(int i = 0;i<4;i++)
                if(arr[i][j]<nowMin && arr[i][j]!=INT_MIN){
                    nowMin = arr[i][j];
                    tarI = i;tarJ=j;
                }
            //出循环后该元素置为最小
            arr[tarI][tarJ]=INT_MIN;
        }
    }
    //输出该矩阵
    int cot = 0;
    vector<int>v;
    int k=2;
    while(k--){
        for(int j =0;j<5;j++)
            for(int i =0;i<4;i++)
                if(arr[i][j]!=INT_MIN){
                    v.push_back(arr[i][j]);
                    arr[i][j] = INT_MIN;
                    break;
                }
    }
    for(int i =0;i<v.size();i++){
        cout<<v[i]<<" ";cot++;
        if(cot==5)cout<<endl;
    }
}
// 64 位输出请用 printf("%lld")

代码比较乱...水多加面,面多加水

全部评论

相关推荐

不愿透露姓名的神秘牛友
02-12 18:14
RT,这周五就是情人节了,前女友给我发了消息,我该不该回?
Yoswell:原则上来说让她滚,但是本着工作很累下班想吃瓜的心态,我觉得你可以回一下
点赞 评论 收藏
分享
01-14 15:08
东南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务