题解
【入门】操场换位置
2 条题解
-
0
#include<bits/stdc++.h>//#996. 操场换位置 /* 扫描整个二维数组,找到最大值的下标和最小值的下标后进行交换即可 */ int a[105][105]; using namespace std; int main(){ int n, m, maxi = 1, mini = 1, maxj = 1, minj = 1; cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> a[i][j]; //打擂台找到最大值的下标 if (a[i][j] > a[maxi][maxj]) { maxi = i; maxj = j; } //打擂台找到最小值的下标 if (a[i][j] < a[mini][minj]) { mini = i; minj = j; } } } swap(a[maxi][maxj], a[mini][minj]);//找到后进行交换 //交换完毕后不要忘了输出 for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cout << a[i][j] << " "; } cout << endl; } return 0; } -
0
#include <bits/stdc++.h> using namespace std; int main(){//#996. 【入门】操场换位置 //n行m列 int n,m; cin>>n>>m; //2<=n,m<=200 int a[205][205]={0}; // 二维数组的输入 for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } // 在所有数字中 找最大值 最小值 int max=0,min=100,c,b,d,e; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ // a[i][j] // 跟最大值比较 if(a[i][j] > max){ max=a[i][j]; // 记录最大值的下标 b=i; c=j; } // 跟最小值比较 if(a[i][j] < min){ min=a[i][j]; // 记录最小值的下标 d=i; e=j; } } } // 最大值 a[b][c] 最小值a[d][e] 交换 swap(a[b][c],a[d][e]); // 二维数组的输出 for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
- 1