本关的编程任务是补全 step5/splitNum.cpp 中的splitNum函数,要求实现拆分并输出一个正整数各位数字的功能。具体要求如下: 本关要求输入一个正整数,然后把该整数的每一位数字从高位到低位顺序输出,且每个数字占一行;
时间: 2024-04-30 19:23:37 浏览: 152
补全代码如下:
```cpp
#include <iostream>
using namespace std;
void splitNum(int n) {
if(n < 10) { // 如果n只有一位数,直接输出
cout << n << endl;
return;
}
splitNum(n / 10); // 递归处理高位数字
cout << n % 10 << endl; // 输出当前位数字
}
int main() {
int n;
cin >> n;
splitNum(n);
return 0;
}
```
解析:
1. 首先判断输入的数是否只有一位,如果是则直接输出,否则进入下一步处理。
2. 调用递归函数处理高位数字,即先处理除个位以外的数字。
3. 输出当前位数字,即将n对10取模的结果。由于n是从高位到低位依次处理的,因此输出的数字也是从高位到低位依次输出的。
4. 递归结束后,整个数的每一位数字都被输出了。
阅读全文