下記コードで、{"LB","HF","EI","AM"}が入力されているのですが、結果をAM,EI,HF,LBの順番にしたいです。
はじめに格先頭の並び替えを行い、それから全体を表示させようとしたのですが上手く行きません。
結果はコード下のようになります。どうすれば文字列としての並び替えが出来ますでしょうか?
#include <stdio.h>
int main (void){
int i; int j; int k; int l; char temp; i=0; j=0; k=0; l=0; char ki[4][4]={"LB","HF","EI","AM"}; for(i=0;i<=3;i++){
printf("変更前先頭%c\n",ki[i][0]);
};
// printf("カウント回数%d\n",i);
for(j=0;j<=3;j++){ for(k=j;k<=3;k++){ if(ki[j][0]>ki[k][0]){ temp=ki[j][0]; ki[j][0]=ki[k][0]; ki[k][0]=temp; }; }; printf("変更後の先頭文字%c\n",ki[j][0]); printf("%s\n",ki[j]); };
}
結果---------------------------------------------------------------
変更前先頭L
変更前先頭H
変更前先頭E
変更前先頭A
変更後の先頭文字A
AB
変更後の先頭文字E
EF
変更後の先頭文字H
HI
変更後の先頭文字L
LM
回答4件
あなたの回答
tips
プレビュー