冒泡法,不知道哪里错了,请帮忙指出,谢谢了
程序代码:
#include "stdio.h" int main() { int i,j,a[10],temp; printf("input 10 numbers:\n"); for (i=0;i<10 ;i++ ) { scanf("%d",&a[i]); } for (j=0; j<10;j++) { for (i=0;i<10-j ;i++ ) { if (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } } printf("paixu hou :\n"); for (i=0;i<10 ;i++ ) { printf("%-5d",a[i]); } return 0; }
程序如上,
问题是,排序后,a[i]总是为-1,并且最大数没有了?
学到数组,对这个程序也不太明白,看了几遍,然后不看书写的,结果却错了;对照书,也没找到个所以然来
所以请大家帮忙看看,谢谢了
[ 本帖最后由 神奇的地球 于 2010-7-22 12:33 编辑 ]