帮帮忙看看我哪编错了
用冒泡法对6个字符串按由小到大的顺序进行排序。 冒泡排序:所谓“冒泡排序”,也称“起泡排序”或者“气泡排序”,是指这样的一种简单排序方法:若被排序的数组元素个数为N,可以对此数组做N-1次处理。在第k次(k=0, 1, …, N-1)处理时,需比较前N-k个元素,方法是:连续从前到后比较相邻的两个元素,如果后面的元素小于前面的元素,则将二者交换,否则不变。可见,每经过一次处理,至少此次被处理的N-k个元素中的最大元素被移到了本次处理的最后位置,而N-1次处理后就使所有的元素被排序
#include<stdio.h> void main() {char a[6]; int i,j,t; gets(a); for(i=0;i<5;i++) for(j=0;j<5-i;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } puts(a); }
执行结果总是多出来一个字符,经查证是a[6]的值,我不知道为什么会出现a[6].大家帮忙看看,谢了