【发布时间】:2018-03-24 21:13:14
【问题描述】:
代码:
#include <stdio.h>
int main()
{
int n, num1,num2,num3, reverse;
printf("Enter the number to reverse:\n");
scanf("%d", &n);
num1 = n / 100;
num2 = (n % 100) / 10;
num3 = (n % 10) / 100;
reverse = num3*100+ num2*10;
printf(" The reverse is %d", reverse);
system("pause");
return 0;
}
我想在不使用任何循环的情况下反转一个数字,到目前为止我已经包含了这些步骤,但我不确定它是否正确:
- 将 int 声明为 num1、num2 和 num3 以及输出,反向
- 要求用户输入要反转的数字
- 使用 scanf 存储号码
- 获取数字的最后一位,num1= n/100
- 从用户那里获取中间数,num2=(num%100)/10
- 要从用户那里获取最后一位数字,num3=(num%10)/100
这些步骤正确吗? 我尝试使用该程序,但没有任何运气,直到我得到正确的步骤。
例子:
Enter a number: 263
Output: 362
数字始终是 3 位数字,没有任何变化
【问题讨论】:
-
也许你可以展示你的代码。
-
输入中是否始终是 3 位数字?
-
可以递归完成。然后没有循环:)
-
最后一个和中间是正确的,第一个数字 = n%10 其中n是用户输入的数字
-
reverse = num3, num2, num1;并没有按照你的想法去做。
标签: c