|
「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 種類 といった感じです
|

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- ソフトウェア




