C言語研修

[ リスト ]

注意事項

 まとめました、ここ を参照してください


文字列のソート


「kadai067」
 入力した文字列を文字コードの昇順でソート

 どのソート方でもいいです

/*********************************
* kadai067
* 入力した文字列を文字コードの昇順でソート
*
* 作成した日:****年**月**日
* 更新した日
*********************************/

main()
{
 char a[5000+1]; /* 配列 */
 char b[5000+1]; /* 配列 */
 int len; /* 最大値を確定するカウンタ */
 int n; /* 最大値を確定するカウンタ */
 int i; /* 全体のカウンタ */
 char d; /* 一時退避 */

 /* 入力 */
 scanf("%s",&a[0]);

 /* コピー */
 len = 0;
 while ( a[len] ) {
  b[len++] = a[len];
 }
 b[len] = '\0';

 /* ソート */
 for ( n = len-1-1; n >= 0; n-- ) {
  /* 隣同士を比較 */
  for ( i = 0; i <= n; i++ ) {
   /* 比較 */
   if ( b[i] > b[i+1] ) {
    d = b[i];
    b[i] = b[i+1];
    b[i+1] = d;
   }
  }
 }

 /* 表示 */
 printf("変更前: %s\n",&a[0]);
 printf("変更後: %s\n",&b[0]);
}

 バブルソートでしています。

 コピーしてからソートです

 このように、別の配列を使う場合は、ソート後も、ソート前の情報がわかります


 このように、別の配列を利用して、元データを変更しないのも一つです。


文字の種類


「kadai068」
 文字列を入力し、その種類を数える

 たとえば、


  abcde


 と入力されれば、5種類


  aabbccc


 と入力されれば、3 種類

 といった感じです

.
ひじり
ひじり
男性 / A型
人気度
Yahoo!ブログヘルプ - ブログ人気度について
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

過去の記事一覧

よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト『さとふる』
11/30まで5周年記念キャンペーン中!
Amazonギフト券1000円分当たる!

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事