反转五位数字。
#include<stdio.h>
#include<conio.h>
int main()
{
int a, l1, l2, l3, l4, l5, m1, m2, m3, m4;
clrscr();
printf("Enter a number: ");
scanf("%d",&a);
l1 = a % 10;
m1 = a / 10;
l2 = m1 % 10;
m2 = m1 / 10;
l3 = m2 % 10;
m3 = m2 / 10;
l4 = m3 % 10;
m4 = m3 / 10;
l5 = m4 / 10;
printf("\n%d%d%d%d%d", l1, l2, l3, l4, l5);
getch();
return 0;
}
我认为逻辑是正确的,但输出仅用于输入12345,并为其他输出提供负数。
答案 0 :(得分:0)
根据我的判断,这里的逻辑存在一些问题,而不是使用10执行模块进行最后一位数的整数除法,或者只是按原样打印
l5=m4/10;
更改为
l5=m4%10;
答案 1 :(得分:0)
你被允许使用循环吗?尝试这样的事情:
int main ()
{
int nb;
int res = 0;
int if_negative = 1;
printf ("%s\n", "Enter number: ");
scanf ("%d", nb);
if (nb < 0) //check if negative
{
if_negative = -1;
nb *= -1;
}
while (nb != 0)
{
res = res * 10 + (nb % 10); //build up the answer
nb /= 10;
}
res *= if_negative;
**** // the rest of your code
}