-1

次のように、入力文字列の文字を変換するためのいくつかのC ++行のコードを書くのを手伝ってくれる人はいますか:

  1. 小文字から大文字へ。
  2. 大文字から小文字へ。
  3. ライブラリ関数は使用できません。
  4. if ステートメント、比較、| 操作および & は許可されていません。

ありがとう。

4

5 に答える 5

4

翻訳配列 (= マップ) を記述できます。

a -> A
A -> a
b -> B
B -> b
...
z -> Z
Z .. z

ASCII の場合は、128 エントリの として実装し、char[]ソースの文字をインデックスとして使用して、結果の文字を読み取ることができます。

char translate[128]; 
translate['A']='a';
...

可能な実装:

// The following init-String is quite long (128 characters)!
char* translate="                                                                abcdefghijklmnopqrstuvwxyz      ABCDEFGHIJKLMNOPQRSTUVWXYZ     ";
int i=0;
while(0!=s[i])
    s[i] = translate[s[i++]];
于 2013-09-19T11:59:11.457 に答える