字符數組的排序注意的問題 :
1.對于輸入字符的時候
如果給出了要輸入幾個字符 n >>>>> for ( i = 0 ; i < n ;i ++ )?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { scanf("%c",&ch); }
如果說直到輸入到換行符結束 >>>>>>while ( ch!= ' \ n ' )
這個需要額外注意的是:while 循環之前需要scanf 一次,while循環里面也需要scanf 一次
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?>>>>否則無法正常輸入
2.看到升序降序就需要用到冒泡排序
?
?
#include<string.h>
void input(struct wInfor w[MAXSIZE] ,int n)
{int i;for(i=0;i<n;i++){w[i].word=(char *)malloc(sizeof(char));scanf("%s",w[i].word);w[i].l=strlen(w[i].word);}
}
void wordSort(struct wInfor w[MAXSIZE] ,int n)
{int i,j;struct wInfor c;for(i=0;i<n;i++){for(j=0;j<n-i-1;j++){if(w[j].l>w[j+1].l){c=w[j];w[j]=w[j+1];w[j+1]=c;}}}
}
?