0
数字dと自然数xを受け取るITERATIVEプロシージャwrite_digit(d、x)を記述し、数字dを標準出力(cout)にx回書き込む必要があります。たとえば、write_digit(3,5)コールは33333を書き込み、write_digit(5,3)コールは555を書き込みます。プログラムが機能しません(先行ゼロ)
このコードに問題があり、先行ゼロと関係があるとします。例: write_digit(0,3) - > 000 - >マイ出力:0(ない驚き)私はしかし
if (d == 0) cout << setw(x) << setfill('0') << "";
をiomanip使用を許可された場合、問題は1分で解決されるだろう
私はiostreamとstringだけを使うことができます。
#include <iostream>
using namespace std;
void write_digit(int d,int x) {
int original_d = d;
for (int i = 1; i < x; ++i) d = d*10 + original_d;
if (x == 0) cout << "";
else cout << d;
}
int main() {
int d,x;
cin >> d >> x;
write_digit(d,x);
}
完全にこの可能性を忘れてしまった、私を黙らせてください。 –