要求: 数组的最小值和第一个数交换,最大值与最后一个数交换;我这里为什么只能输出少数几个数?

[复制链接]
查看11 | 回复1 | 2012-8-3 20:15:11 | 显示全部楼层 |阅读模式
x=a[0];y=a[n-1];
for(i=1;i*(p+i))
*p=*(p+i);}*(p+i)=x;
// p+i并不一定指着最小的数。请注意i的值for(j=n-2;j>=0;j--){ if(*(p+n-1)<*(p+j))
*(p+n-1)=*(p+j);}*(p+j)=y;
// p+j也不一定指着最大的数 你应该考虑在if语句当中, 记录最小(最大)数对应的i, 即最小(最大)数的位置. 据此用首尾两个数在恰当的位置复盖写入....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行