我正在创建一个使用以下方法显示数字倒数的程序:
示例:
123 ==> 3*10^2 + 2*10^1 + 1*10^1 = 321
但输出始终为 0。有什么帮助吗?
#include <stdio.h>
int power(int a)
{
int i;
int x = 1;
for (i = 1; i = a; i++)
{
x = x * 10;
}
return x;
}
int inv(int b)
{
int z = b, j = 0, s = 0, y;
for (z = b; z = 0; z = z / 10)
{
for (y = z; y = 0; y = y / 10)
{
j++;
}
s = s + (z % 10)*power(j - 1);
}
return s;
}
int main()
{
printf("please enter a number"); int n;
scanf("%d", &n);
printf("%d", inv(n));
return 0;
}
原文由 pioneer 发布,翻译遵循 CC BY-SA 4.0 许可协议
为什么不使用
string
并反转它?当然,这只有在您可以自由选择方法时才有效。