代码如下:
#include<iostream>
using namespace std;
void convert(int x) {
int i;
if ((i = x / 10) != 0)
convert(i);
putchar(x % 10 + '0');
}
int main()
{
void convert(int);
int n;
cout << "输入一个整数:";
cin >> n;
convert(n);
cout << endl;
return 0;
}
解释如下:
void convert(int x)
:定义了一个名为convert
的函数,该函数接受一个整数参数x
,返回类型为void
(即不返回任何值)。int i;
:声明一个局部变量i
,用于存储x
除以 10 的结果。if ((i = x / 10)!= 0)
:这是一个条件判断语句,先将x
除以 10 的结果赋值给i
,然后判断i
是否不等于 0。如果i
不等于 0,说明x
至少是两位数,需要递归调用convert
函数处理i
。convert(i);
:递归调用convert
函数,将x
除以 10 后的结果作为参数传递进去,这样可以逐步处理整数的高位。putchar(x % 10 + '0');
:当x
除以 10 的结果为 0 时,说明已经处理到了整数的最低位。x % 10
得到x
的个位数字,然后加上字符'0'
将其转换为对应的字符形式,最后使用putchar
函数输出该字符。
觉得有帮助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交流
友友们一起加油叭QAQ