c++语言二维数组的每行排序

用for语句,还没学指针等复杂方法

第1个回答  2009-04-15
//经典的冒泡法:

#include <iostream.h>
void main()
{
int a[100][100];int m,n,temp;
int i,j,k;
cout<<"输入行数和列数:"<<endl;
cin>>m>>n;
cout<<"输入数组:"<<endl;
for(i=0;i<m;i++)
{
for( j=0;j<n;j++)
cin>>a[i][j];
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
for(k=j+1;k<n;k++)
{
if(a[i][k]<a[i][j])//从小到大排列,如是从大到小将此处的小于号改为大于号即可
{
temp=a[i][k];a[i][k]=a[i][j];a[i][j]=temp;
}
}
}
cout<<"输出排序后的数组:"<<endl;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}

}本回答被网友采纳
第2个回答  2019-04-03
//经典的冒泡法:
#include
<iostream.h>
void
main()
{
int
a[100][100];int
m,n,temp;
int
i,j,k;
cout<<"输入行数和列数:"<<endl;
cin>>m>>n;
cout<<"输入数组:"<<endl;
for(i=0;i<m;i++)
{
for(
j=0;j<n;j++)
cin>>a[i][j];
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
for(k=j+1;k<n;k++)
{
if(a[i][k]<a[i][j])//从小到大排列,如是从大到小将此处的小于号改为大于号即可
{
temp=a[i][k];a[i][k]=a[i][j];a[i][j]=temp;
}
}
}
cout<<"输出排序后的数组:"<<endl;
for(
i=0;i<m;i++)
{
for(
j=0;j<n;j++)
cout<<a[i][j]<<"
";
cout<<endl;
}
}
相似回答