c语言 交换二维数组最大值最小值的行数位置,列数不改变,例如最大值a[2][1]最小值a[3][2]交换后最大值a[3][1],最小值a[2][2]。
1条回答 默认 最新
- fuill 2022-01-04 14:09关注
列数不一样怎么交换行?
#include<stdio.h> #include<stdlib.h> int main() { printf("请输入N(N<=30):"); int t[30][30]= {0}; int N,i,j,k,sum=0; scanf("%d",&N); printf("原数组:\n"); for(i=0; i<N; i++) { for(j=0; j<N; j++) { t[i][j]=rand()%1000; printf("%4d",t[i][j]); } printf("\n"); } int min=t[0][0], max=t[0][0]; int p1=0,p2=0,p3=0,p4=0; for(i=0; i<N; i++) for(j=0; j<N; j++) { if(max<t[i][j]) { max=t[i][j]; p1=i;p2=j; } if(min>t[i][j]) { min=t[i][j]; p3=i;p4=j; } } printf("最大值t[%d][%d]:%d 最小值t[%d][%d]:%d\n",p1,p2,max,p3,p4,min); int tem=t[p1][p2]; t[p1][p2]=t[p3][p4]; t[p3][p4]=tem; printf("交换二最大值最小值的行数位置后:\n"); for(i=0; i<N; i++) { for(j=0; j<N; j++) { printf("%4d",t[i][j]); } printf("\n"); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用