代码:
#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;
}
我想在不使用任何循环的情况下反转一个数字,我包括了到目前为止的步骤,但我不确定它是否正确:
1.将int声明为num1、num2和num3以及输出,反向
1.要求用户输入要冲销的数字
1.使用scanf存储编号
1.取数字的最后一位,num1 = n/100
1.从用户处获取中间位数,num2 =(num%100)/10
1.要从用户获取最后一位数字,num3 =(num%10)/100
这些步骤正确吗?我试着使用这个程序,但没有任何运气,直到我得到正确的步骤。
示例:
Enter a number: 263
Output: 362
数字总是3位数,没有任何变化
4条答案
按热度按时间zpqajqem1#
首先,你的数字3是错误的,这是修改如下,其次,反向计算错误
ffdz8vbo2#
采用多样化的方法
或者如果你不想使用atoi
lokaqttq3#
如果中间数位的计算如下
则最低有效位的计算如下
或者只是
本声明
没有提供您所期望的内容。您应该改为编写
实际上你不需要计算数字,只要把一个三位数作为三个独立的数字输入即可。:)
例如
程序输出可能如下所示
如果你不想输出前导零,那么你可以在程序中包含if语句。
你可以写
在这种情况下,如果输入例如
则输出将为
代替
也可以使用表达式
100 * n1 + 10 * n2 + n1
。toe950274#