今日の人気記事

  1. while文 - 繰り返し処理
  2. 浮動小数点数型(float型 double型)の最大値と最小値 - float.h
  3. テキストファイルの読み込みと出力
  4. 文字列関数 - string.h
  5. do 〜 while文 - 繰り返し処理

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

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

スポンサーリンク

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

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

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つの自然数の最大公約数を求める
  2. サンプルプログラム集
  3. 配列に格納した数値を昇順ソートする
  4. ASCIIコードの表を出力する
  5. 入力した2つの数値を交換する
  6. 入力した整数が偶数か奇数かを判別する
  7. 入力した文字列をASCIIコードに変換・出力
  8. 入力した行列の積(掛け算)を計算する
  9. 九九を計算する
  10. 入力した数値が完全数かどうかを判定する

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