供参考:
#include<stdio.h>
int main()
{
int **a,m,n,i,j,max,t;
scanf("%d%d",&m,&n); //输入矩阵行列
a=new int*[m];
for(i=0;i<m;i++) a[i]=new int[n];
for(i=0;i<m;i++)
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);//输入数据
}
printf("原矩阵:\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
printf("%d%c",a[i][j],j==n-1?'\n':' ');
for(i=0;i<m;i++){
max=a[i][0];t=0;
for(j=0;j<n;j++){
if(max<a[i][j]){
max=a[i][j];
t=j;
}
}
if(t!=1){ //每行中最大元素与第1列元素交换
a[i][t] = a[i][1];
a[i][1] = max;
}
}
printf("处理后:\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
printf("%d%c",a[i][j],j==n-1?'\n':' ');
for(i=0;i<m;i++) delete[]a[i];//释放数组
delete []a;
return 0;
}