今日の人気記事

  1. scanf関数 - 数値の入力

  2. 入力した2つの自然数の最大公約数を求める

  3. 配列の要素を出力(表示)する

  4. 入力した文字がアルファベットの小文字か大文字かを判定する

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

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

スポンサーリンク

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

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

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. 10進数を2進数に変換する

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

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

  5. 1から1000までの素数を表示する

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

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

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

  9. 3×3行列の行列式を計算する

  10. アルファベットの連続(A to Z)と数字(0 to 9)の連番を出力する

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