说明下哈,我已经知道简单写法,但我想知道这个的错误在哪里,不用提供那个简单的多的方法了,只要挑错,感谢!
设计函数int reverseNum(int n),返回正整数n反转后的形式,如reverseNum(12345)的值为54321。
输入与输出要求:
输入一个正整数n,n的取值范围不会超过int类型变量,n不会有前导0,n的结尾也不会有0。输出该正整数的反转形式,输出如“The reverse form of number 12345 is 54321.”,占一行。
用代码块功能插入代码,请勿粘贴截图
int reverseNum(int n)
{
int sum = 0;
int i,j,r,a;
long long m =10;
int n2=n;
for (i=1;n!=0;)
{ n=n/m;
if(n!=0)
{i++;} }
while(n2>0)
{ r=n2%10;
n2=n2/10;
for(j=i;j>=1;j--)
{ a=r;
a*=10;
if (j==1){ a=r;}
// a=r*10;
}
i=i-1;
sum+=a;
}
return sum;
}
运行结果及报错内容 返回值是15,相当于每个数都进行了我循环里的if,5+4+3+2+1了,但去掉这句话,会是150,也就是每一个数都只乘了一次10,非常疑惑
我已经知道简单写法,但我想知道这个的错误在哪里,不用提供那个简单的多的方法了,只要挑错,感谢!