入力した複数の文字列をソート
当ページのリンクには広告が含まれています。
スポンサーリンク
入力した複数の文字列をソートするサンプルプログラムを紹介します。
次のようなアルファベットの文字列
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
このように入力した文字列をソートします。