问题标题: 酷町堂:3743

0
0
已解决
沈峻宇
沈峻宇
资深天翼
资深天翼

0分,wrong anwser 10个点

#include<iostream>
using namespace std;
int main(){
    int m,n,a[16][16],maxn=0,minn=9999,b,c,d,e;
    cin>>m>>n;
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            cin>>a[i][j];
            if(a[i][j]>maxn) b=i;c=j;
            if(a[i][j]<minn) d=i;e=j;
        }
    }
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            swap(a[b][c],a[d][e]);
            cout<<a[i][j];
        }
    }
}

求解


0
已采纳
周明轩
周明轩
资深光能
资深光能

你有两个地方错了:

把:

if(a[i][j]>maxn) b=i;c=j;
if(a[i][j]<minn) d=i;e=j;

改成:

if(a[i][j]>maxn){
    b=i;c=j;
    maxn=a[i][j];
}
if(a[i][j]<minn){
    d=i;e=j;
    minn=a[i][j];
}

把:

for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            swap(a[b][c],a[d][e]);
            cout<<a[i][j];
        }
    }

改成:

swap(a[b][c],a[d][e]);
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){

            cout<<a[i][j]<<' ';
        }
        cout<<endl;
    }

(先把swap移到外面,再把那些空格和回车给输出)

望采纳,谢谢。

0
黄子扬
黄子扬
初级天翼
初级天翼

你这swap一次,再换行输出

我要回答