0

そのため、0〜127の入力文字を受け取り、次の形式で数値の文字列を出力するプログラムを作成しようとしています。

 - If I input a 0, the output should be a 0
 - If I input a 5, the output should be 012345
 - If I input a 9, the output should be 0123456789
 - If I input a 14, the output should be 012345678901234
 - If I input a 27, the output should be 0123456789012345678901234567

したがって、最大で0から9までの10文字の増分を探してから、最後の数に達するまでシーケンスを繰り返します。したがって、27では、最初の0のために実際には28文字が出力されますが、最後の文字は7のままです。

forループを使用したいのはわかっていますが、これを実現する方法を理解するのに少し問題があります。おそらく出力にASCII48から57を使用できますが、私の問題は入力をどのように機能させるかです...整数に静的にキャストしてからそれを使用する必要がありますか?ここで壁にぶつかっているようなものです。

4

1 に答える 1

2

次のことを試してください。

#include <iostream>

int main() {
   char input;

   std::cin >> input;

   if (input >= 0 && input <= 127) {
      for (int i = 0; i <= n; i++) std::cout << i % 10;
   }
}
于 2013-02-06T23:47:17.307 に答える