輸入10個字串,並按字母從小到大排序#include"stdio.h"#include"string.h"voidsort(chararray[][20],intn);main(void){charstr[10][20];inti,j,k,n;printf("inputn(n<=10):");scanf("%d",&n);printf("input%dstring:",n);for(i=0;i<n;i++)gets(str[i]);//輸入N個字串sort(str,n);//對輸入的字串排序printf("sortstring:\n");for(i=0;i<n;i++)puts(str[i]);return0;}voidsort(chararray[][20],intn)//定義排序函式{chartemp[20];inti,j,k;for(i=1;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(strcmp(array[k],array[j])>0)k=j;if(k!=i){strcpy(temp,array[i]);//字串交換順序strcpy(array[i],array[k]);strcpy(array[k],temp);}}}如上原始碼所示,其實也不難發現,就一個排序函式便可以解決;解決思想,還是交換法;在這裡明白字串陣列str[0],便是第一個主的字串,跟這個2維str[0][20]是一個意思
輸入10個字串,並按字母從小到大排序#include"stdio.h"#include"string.h"voidsort(chararray[][20],intn);main(void){charstr[10][20];inti,j,k,n;printf("inputn(n<=10):");scanf("%d",&n);printf("input%dstring:",n);for(i=0;i<n;i++)gets(str[i]);//輸入N個字串sort(str,n);//對輸入的字串排序printf("sortstring:\n");for(i=0;i<n;i++)puts(str[i]);return0;}voidsort(chararray[][20],intn)//定義排序函式{chartemp[20];inti,j,k;for(i=1;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(strcmp(array[k],array[j])>0)k=j;if(k!=i){strcpy(temp,array[i]);//字串交換順序strcpy(array[i],array[k]);strcpy(array[k],temp);}}}如上原始碼所示,其實也不難發現,就一個排序函式便可以解決;解決思想,還是交換法;在這裡明白字串陣列str[0],便是第一個主的字串,跟這個2維str[0][20]是一個意思