本日もよろしくおねがいします。
問題:
ユーザに入力されるa~zまでの文字を含む文字列をアルファベット順に並べ替えるプログラムを作成せよ.
っというものです。
実行例:
kjgdruosdshnkl
ddghjkklnorssu
です。
私が作ったプログラムは、こんな感じです。
すっごく頑張りました^^;
#include <stdio.h> #include <string.h> #define n 8 void s_quick_sort(char *ss[/url],int top,int end){ char *key,*wk; int i,j; key=ss[(top+end)/2]; i=top-1; j=end+1; while(1){ while(strcmp(ss[++i],key)<0); while(strcmp(ss[--j],key)>0); if(i>=j) break; wk=ss; ss=ss[j]; ss[j]=wk; } if(top<i-1) s_quick_sort(ss,top,i-1);/*左半分をクイックソート*/ if(j+1<end) s_quick_sort(ss,j+1,end);/*右半分をクイックソート*/ } int main(void){ int i; char st[n][10]=("eee","bbb","ggg","fff","hhh","ccc","aaa","ddd"); char *p[n]; for(i=0;i<n;i++){ p=st; } s_quick_sort(p,0,n-1); for(i=0;i<n;i++){ printf("%s",p); } return 0; }
ちょっと、というかだいぶ違うのかなぁー。。
どーすればいいでしょうか??
教えてください。