C语言一道小题~没思路啊~~~~~~~~~~跪谢~~~ 10
若已有按降序排列的数20,18,16,14,12,10,8,6,4,2,现要求将键盘输入的一个数插入到该数组中,要求按原来的排序规律插入咋弄腻?...
若已有按降序排列的数20,18,16,14,12,10,8,6,4,2,现要求将键盘输入的一个数插入到该数组中,要求按原来的排序规律插入
咋弄腻? 展开
咋弄腻? 展开
展开全部
如果是按照从大到小的顺序排列
则可以这样
比如我们输入的x
当前数组存放了20,18,16,14,12,10,8,6,4,2,
则把x放到最后一位
即当前数组为18,16,14,12,10,8,6,4,2,x
如果这个数组为a[100]
则a[9]=x;
a[8]=2
如果x比2大
将x与2交换位置
变成了
18,16,14,12,10,8,6,4,x,2
然后继续判断4 与 x的大小关系
直到x比其前面的数小为止
比如我们输入的是5
则顺序依次为
1: 18,16,14,12,10,8,6,4,2,5
2:18,16,14,12,10,8,6,4,5,2,
3:18,16,14,12,10,8,6,5,4,2,
完成
要交换数组中的两个数
a[m]与a[m-1];
可以如此做
int temp;
temp=a[m];
a[m]=a[m-1];
a[m-1]=temp;
这个思路是写给新手的
思路就大概这样了
接下来的代码请自己完成
则可以这样
比如我们输入的x
当前数组存放了20,18,16,14,12,10,8,6,4,2,
则把x放到最后一位
即当前数组为18,16,14,12,10,8,6,4,2,x
如果这个数组为a[100]
则a[9]=x;
a[8]=2
如果x比2大
将x与2交换位置
变成了
18,16,14,12,10,8,6,4,x,2
然后继续判断4 与 x的大小关系
直到x比其前面的数小为止
比如我们输入的是5
则顺序依次为
1: 18,16,14,12,10,8,6,4,2,5
2:18,16,14,12,10,8,6,4,5,2,
3:18,16,14,12,10,8,6,5,4,2,
完成
要交换数组中的两个数
a[m]与a[m-1];
可以如此做
int temp;
temp=a[m];
a[m]=a[m-1];
a[m-1]=temp;
这个思路是写给新手的
思路就大概这样了
接下来的代码请自己完成
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询