任何人都可以给我这个程序的干输出吗?
#include <stdio.h>
main()
{
int a,b,c,d,e;
printf("Enter the Number to Find it's Reverse\n");
scanf("%d",&a);
while(a!=0)
{
b=a%10;
c=a/10;
printf("%d",b);
a=c;
}
getchar();
}
答案 0 :(得分:5)
假设从干输出你的意思是代码的解释,这是我的尝试。
假设用户输入143
。现在a = 143
。
while( a != 0 ) // a = 143 therefor condition is true and the block of
// code inside the loop is executed.
b = a % 10 ; // 143 % 10 ( The remainder is 3 )
因此b
的值会打印在屏幕上
3
现在
c = a / 10 ; // 143 / 10 = 14
a = c ; // so now a = 14
我们再次返回while()
while( a != 0 ) // a = 14 therefor condition is true and the block of
// code inside the loop is executed.
b = a % 10 ; // 14 % 10 ( The remainder is 4 )
因此b
的值会打印在屏幕上,该值已有3
34
现在
c = a / 10 ; // 14 / 10 = 1
a = c ; // so now a = 1
再次,我们返回while()
while( a != 0 ) // a = 1 therefor condition is true and the block of
// code inside the loop is executed.
b = a % 10 ; // 1 % 10 ( its output will be 1 )
因此b
的值会打印在已有34
341
现在
c = a / 10 ; // 1 / 10 = 0
a = c ; // so now a = 0
我们返回while()
while( a != 0 ) // a = 0 therefor condition is FALSE and the block of
// code inside the loop is NOT executed.
希望它有所帮助
注意强>
而不是
c=a/10;
a=c;
你可以简单地写
a /= 10
其次,
int a,b,c,d,e;
e
的目的是什么?
答案 1 :(得分:3)
你走了:
输入要查找其反向的数字
:)
(假设应用程序编译/运行完美且没有给出任何输入(我对“干”的解释)
答案 2 :(得分:1)
正如它所说的那样,它一直等到你输入一个数字然后打印相反的数字。因此,如果您输入367,则得到763.该算法非常简单且非常受欢迎。 %用于得到数字和10的模数。所以你每次都得到最后一个数字。 (即367%10是7)然后它将旧数字(即367)替换为自身除以10(即36)并继续直到达到0.注意:线c = a / 10;也可以用a = a / 10代替。然后程序等待(getchar())直到你按一个键然后它关闭。 :)
答案 3 :(得分:0)
它显示输入的数字。干输出是如果你输入123你得到321.那么变量 d 和 e 的方式是什么?删除它们你的干输出将是一个漫画恐怖LOL