题目内容:
从键盘输入一个4位数的整数,编程计算并输出它的逆序数(忽略整数前的正负号)。例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*1000+3*100+2*10+1 = 4321,并输出4321。再将得到的逆序数4321拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的平方和的结果。
以下是程序的运行结果示例:
Input x:
-1234↙
y=4321
a=43,b=21
result=2290
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
printf("Input x:\n");
int x,y,a,b;
scanf( "%d",&x);
if (x<0)
x=-x;
int f,g,c,d,e;
f=x/1000;
g=(x-f*1000)/100;
c=(x-f*1000-g*100)/10;
d=x-f*1000-g*100-c*10;
y=d*1000+c*100+g*10+f;
a=d*10+c;
b=g*10+f;
e=pow(a,2)+pow(b,2);
printf("y=%d\n",y);
printf("a=%d,b=%d\n",a,b);
printf("result=%d\n",e);
return 0;
}