首先先了解下转换过程,我们可以先不要一次性就把123转换成321,我们应该取出每个个位数字,然后依次加到新的转换数后面,第一次结果为3,第二次结果为32,第三次结果为321.
所以我们要用到"%"这个运算符,然后定义一个变量New_value来处理取余后的数。
当用10(其实就是取各位)取不了余,就代表是新的数的最高位了。
所以函数如下:
int exchange(int a){
int b;
int New_value=0;
while(a!=0)
{
b=a%10;
New_value=New_value*10+b;
a=a/10;
}
return New_value;
}
完整代码如下:
#include
int exchange(int a){
int b;
int New_value=0;
while(a!=0)
{
b=a%10;
New_value=New_value*10+b;
a=a/10;
}
return New_value;
}
int main()
{
printf("请输入要转化的正整数:");
int a=1;
do
{
scanf("%d",&a);
if (a > 0)
{
printf("转化后的数字是%d",exchange(a));
break;
}
else
{
printf("输入的不是正数,请重新输入!");
}
}
while (a<=0);
}
希望大家喜欢我这种方法,有好的建议也可以联系我哦!