求教 用指向函数的指针对数列进行排列 这段程序要怎么修改??
代码:/* 用指向函数的指针对数列进行排列 */
#include<stdio.h>
#include<stdlib.h>
int change(int a[],int n)
{
int t=0;
if(a[n]>a[n+1])
{
t=a[n];
a[n]=a[n+1];
a[n+1]=t;
return a[n];
}
}
main()
{
int i,j=0,x[12];
int Num[12]={4,2,3,6,5,7,9,8,11,10,15,17};
int (*pchange)();
printf("用指向函数的指针对数列进行排列\n\n");
printf("未重新排列顺序的数组是:\n");
for(i=0;i<12;i++)
printf("%d ",Num[i]);
pchange=change;
printf("\n");
printf("按由大到小的顺序排列后的数组是:\n");
for(i=0;i<11;i++)
x[j++]=(*pchange)(Num,i);
for(j=0;j<12;j++)
{
printf("%d ",x[j]);
}
printf("\n");
}
大部分结果是对的就是最后一位元素总处理不好,求指教啊或是给一个正确的代码
[ 本帖最后由 kknd84913 于 2013-1-8 16:00 编辑 ]