・テーマ 文字列のソート
・プログラム説明
2次元の文字配列bufferに文字列をキーボードより入力し、入力終了後文字列の昇順にソートして出力する。
ただし、終了条件はend または END が入力された時とする。
・補足
文字列の比較には関数 strcmp を使用するとよい。
ただし、string h を #include すること。
・出力例
データ入力
buffer[0]=ebcde
buffer[1]=bcde
buffer[2]=abcd
buffer[3]=END
データ出力
abcd
bcde
edcde
上記が問題です。よろしくお願いします。
/* システム 1ネン 31バン (**個人名が書かれていたので管理人が削除しました**) */
/* EX110 */
/* モジレツノソート */
#include <stdio.h>
#include <string.h>
void main()
{
char buffer[256][256], w[256];
int i,j, ia;
i = 0;
j = 0;
printf(データ入力);
printf(\nbuffer[%d]=, i);
gets(buffer);
while(strcmp(buffer, END) != 0 && strcmp(buffer, end) != 0){
i++;
j++;
printf(buffer[%d]=, i);
gets(buffer);
}
for(j = j - 1; j > 0 && ia != 0; j--){
ia = 0;
for(i = 0; i < j; i++){
if(strcmp(buffer, buffer[i + 1]) > 0){
strcpy(w,buffer);
strcpy(buffer,buffer[i + 1]);
strcpy(buffer[i + 1],w);
ia = 1;
}
}
}
printf(\n);
puts(データ出力);
for(i = 0;strcmp(buffer, END) != 0 && strcmp(buffer, end) != 0; i++){
puts(buffer);
}
puts();
}
これが私の作ったプログラムなのですが、もっと簡単にできませんか?
------------------------------------------------------------
(理由の提示無く突然記事が削除された為、管理人により記事は元に戻されました)