#include <stdio.h>
#include <stdio.h>
int main(void)
{
int x,y,z,i,j,k,l,result;
printf(“Input the x:\n");
scanf("%d\n",&x);
z=fabs(x);
i=z%10,j=z/10%10,k=z/100%10,l=z/1000%10;
y=i*1000+j*100+k*10+l;
printf("y=%d\n",y);
a=i*10+j;b=k*10+l;
printf(”a=%d,b=%d",a,b);
result=pow(a,2),pow(b,2);
printf("result=%d\n",result);
return 0;
}
学习心得:一个看似复杂的问题其实分多个步骤,就可将其简单化。1.首先逆序数的fabs的求绝对值使用,即可得到z这个正数。2.其次,%10的求余,分别结合/10%10等分离个十百千位上的数字。3.pow(x,2)的求平方根和。4.我发现在printf语句里使用pow得到0,但是另起一行用result=pow(a,2)+pow(b,2)居然行得通,神奇。