c语言中从键盘输入一个三位整数,输出他的逆序数

int a,b,c,x,y;
a=x/100;
b=(x-a*100)/10;
c=x-a*100-b*10;
y=c*100+b*10+a;
大神来看看这几步是有什么问题,为甚算不出正确的解

1.定义没有赋值。变量获得都是垃圾值。

2.算法很有问题.

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
 int number;
 printf("输入一个三位数\n");
 scanf("%d",&number);
 printf("%d",number%10);//一个整数余除10必然是它的个位数
 printf("%d",number/10%10);//一个绝对值大于10的数先除以10再余除10必然是它的十位数,依次类推
 printf("%d",number/100%10);
 //这三个printf可以合起来写,我这样写是方便你们理解
 system("PAUSE");
 return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-03

没错啊..

本回答被提问者采纳
第2个回答  2019-03-14
#include<stdio.h>
#include<math.h>
main()
{
int x,a,b,c,y;
printf("请输入一个3位整数:");
scanf("%d",&x);
a=fabs(x/100);
if(x>0) b=fabs((x-a*100)/10);
if(x<0) b=fabs(x+a*100)/10;
c=fabs(x%10);
y=fabs(c*100+b*10+a);
printf("a=%d,b=%d,c=%d,y=%d\n",a,b,c,y);
return 0;
}
相似回答