#include <stdio.h>
#define N 5
void main()
{
int i,j,*ptr,a[N],t;
ptr=a;
printf(“输入大小为%d的数组:\n”,N);
for(i=0;i<N;i++)
scanf(“%d”,&a[i]);
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
{
if(a[j]<a[j+1])
{
t=*(ptr+j);
*(ptr+j)=*(ptr+j+1);
*(ptr+j+1)=t;
}
}
}
printf(“\n 排序后的数组是:\n”);
for(i=0;i<N;i++)
printf(“%d “,a[i]);
printf(“\n”);
}

有更简单的代码可以实现任意几个数字的大小排列吗?
Reply
任意数字的话可以用随机数函数来实现
Reply
不懂呀.我才大一,刚学C++.只会从5个数中列出最大最小的.
我同学说用两个for语句就可以把排序搞定,我想了N久想不出来.
Reply
你這個確實能夠實現,但是沒有完全用指針表現,尤其是for循環的地方省略了用指針表示…
Reply