中级天翼
嗯.......
思路如下:
先找出数组最大值的行和列以及最小值的行和列
然后交换a[最大值行][最大值列],a[最小值行][最小值列];
最后输出数组。
for(遍历数组){
for(遍历数组){
输入;
if(打擂台,找最大值的行和列){
ai=i;aj=j; //找出行和列
}
if(打擂台,找最小值的行和列){
ii=i;ij=j; //找出行和列
}
}
}
交换(a[ai][aj],a[ii],a[ij]);
for(遍历数组){
for(遍历数组){
输出;
}
}
这道题的铺垫可以看1065
(话说1065是3分题,3743是1分题,这是为啥?)
黄依成在2020-05-04 21:25:12追加了内容
这都是我自己写的
中级天翼
先把数组和变量设出来(一个a[20][20],m,n和最大的数、下标行、下标列,最小的数、下标行、下标列),然后输入m和n,和a[i][j],在输入二维数组同时用if语句 if(i==0,j==0)最大的数和最小的数赋初值为a[0][0],其他为0。 else 确定最大的数、下标行、下标列和最小的数、下标行、下标列。出循环,swap(a[最大下标行][最大下标列],a[最小下标行][最小下标列])。最后输出就可以了。这是另一个人的回答
中级守护
int m,n,a[100][100],maxn=-0x3f3f3f3f,minn=0x3f3f3f3f,ai,aj,ii,ij;
int main()
{
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){
ai=i;
aj=j; //找出行和列
}
if(a[i][j]<minn){
ii=i;
ij=j; //找出行和列
}
}
}
swap(a[ai][aj],a[ii][ij]);
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
大家看一下哪里有问题???急!!!
@黄依成 AC了我采纳你