入力した複数の文字列をソート
当ページのリンクには広告が含まれています。
スポンサーリンク
入力した複数の文字列をソートするサンプルプログラムを紹介します。
次のようなアルファベットの文字列
acb abc aab
を入力すると
aab abc acb
このようにソートします。
数字にも対応しているので、次のような文字列を入力すると
2ab 0ca 1bc
を入力すると
0ca 1bc 2ab
このようにソートします。
サンプルプログラム
それでは入力した3つも文字列をソートするサンプルプログラムをみてみましょう。
/* * C言語のサンプルプログラム - Webkaru * - 入力した複数の文字列をソート - */ #include<stdio.h> #include<string.h> int main(void) { int i, j; /* 文字列の数 */ int num = 3; /* 文字列 */ char moji[3][20], tmp[20]; /* 3つの文字列を入力 */ printf("\n◆3つの文字列(半角英数字)を入力してください\n"); for (i=0;i<num;i++) { printf("%dつめの文字列 = ", i+1); scanf("%s", moji[i]); } for(i=1;i<num;i++){ for(j=1;j<num;j++){ if(strcmp(moji[j-1], moji[j])>0){ strcpy(tmp, moji[j-1]); strcpy(moji[j-1], moji[j]); strcpy(moji[j], tmp); } } } printf("\n◆文字列をソートしました。\n"); for (i=0;i<num;i++) printf("%s\n", moji[i]); return 0; }
サンプルプログラムで使っている構文
実行結果
いくつかの実行結果です。
◆3つの文字列(半角英数字)を入力してください 1つめの文字列 = abc 2つめの文字列 = abb 3つめの文字列 = aab ◆文字列をソートしました。 aab abb abc
◆3つの文字列(半角英数字)を入力してください 1つめの文字列 = 2ab 2つめの文字列 = 0ca 3つめの文字列 = 1bc ◆文字列をソートしました。 0ca 1bc 2ab
このように入力した文字列をソートします。