| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么不对啊?题目:
对二维数组 int a[M][N]的每行从小到大排序,排序函数的原型说明为:void Sort( int * Array, int n )。
程序:
#include<stdio.h>
#define M 5
#define N 5
void Sort(int * Array,int n)
{
int t,i,j,h;
for(;Array<Array+n;Array+=N)
for(i=0;i<N-1;i++)
{
h=i;
for(j=i+1;j<N;j++)
if(*(Array+h)>(*Array+j)) h=j;
t=*(Array+i);
*(Array+i)=*(Array+h);
*(Array+h)=t;
}
}
int main()
{
int a[M][N],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
Sort(&a[0][0],N*M);
for(i=0;i<M;i++)
{
printf("\n");
for(j=0;j<N;j++)
printf("%4d",a[i+1][j+1]);
}
return(0);
}
为什么输完二维数祖后就跳过去没打印呢?应该怎么改啊?
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator