作者
|
标题: c编程问题1
|
disguise
未注册
|
| |
题目:使用直接插入法对12个整数进行排序(按从小到大的顺序排列)。 我只把主要的程序写一下, 先是输入12个数组array[12] for(i=1;i<12;i++) {int temp=array[i]; for(j=i-1;j>=0;j--) {if(array[j]>temp) array[j+1]=array[i]; else {{array[j+1]=temp; break; } } if(j==-1) /上边都明白,就是这一小段我觉得没有必要,为什么要加这一段??/ array[0]=temp; } 然后打印出。 好累呀!!!!!!!!!!!!!!!!!打的我的眼睛疼
| |
IP: 已记录
|
|
|
TomyChen
未注册
|
| |
有必要。当用for 语句循环后,如你上面用的j--当你要重新调用j时,他当时值为循环后的值,也就是j--后的值,如果不重新赋值的话那得到的结果是错的。 ------------------ 人生就像一个方程: 一是有解; 一是无解; 我就是属于无解的。 欢迎登陆我的论坛
| |
IP: 已记录
|
|
|
disguise
未注册
|
| |
不对 因为大的循环规定i>=1,所以,j>=o,所以,j不可能等于-1 是不是这样,所以我觉得没有必要?
| |
IP: 已记录
|
|
|
TomyChen
未注册
|
| |
这是比较是不是等于-1。。然后把临时的赋进去,还有这个是12个元素 不是12个叔组------------------ 人生就像一个方程: 一是有解; 一是无解; 我就是属于无解的。 欢迎登陆我的论坛
| |
IP: 已记录
|
|
|
|