今日の人気記事

  1. printf関数の変換指定子

  2. 入力した数値の桁数を表示する

  3. 入力したアルファベットを大文字から小文字に変換する

入力した複数の文字列をソート

当ページのリンクには広告が含まれています。

スポンサーリンク

入力した複数の文字列をソートするサンプルプログラムを紹介します。

次のようなアルファベットの文字列

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

このように入力した文字列をソートします。

サンプルプログラム の人気記事

  1. 2進数を10進数に変換する

  2. 10進数を2進数に変換する

  3. 配列に格納した数値を昇順ソートする

  4. 入力した2つの数値の掛け算・割り算する

  5. 入力した文字がアルファベットか数字かを判定する

  6. 2次方程式の解を計算する

  7. テキストファイルに入力した文字列を追記

  8. サンプルプログラム集

  9. 入力した整数が正か負かを判定する

  10. 入力したアルファベットを小文字から大文字に変換する

関連記事(一部広告含む)