C语言 输入任意一个4位的整数,将其各位按相反次序重新组合成另一个整数输出?

例如:
输入:1234 输出:4321
输入:8603 输出:3068

#include<stdio.h>

int main()

{

int n,a[11],k=0;

scanf("%d",&n);

while(n!=0)

{

a[k++]=n%10;//将各个为上的数提取出来,a[0]是个位,以此类推; 

n/=10;

for(int i=0;i<k;i++)//逆序输出; 

{

printf("%d",a[i]);

}

return 0;

}

十位以下都可以

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-19
其实很简单,首先获取这个数的位数,然后把这个数的每一个数位上的数拆分成单个的数就好了,但是由于这样位数太多,可能会数据溢出,如果没有溢出,可能会定义太多的变量占用内存。所以,可以限制位数比如不能超过十万位。下面我给一个五位数的拆分方法:
#include<stdio.h>
int main()
{
int wan,qian,bai,shi,ge;
int number;
int newnumber;
printf("请输入一个数(小于100000):");
scanf("%d",&number);
wan=number/10000;
qian=(number/1000)%10;
bai=(number/100)%10;
shi=(number/10)%10;
ge=number%10;
newnumber=ge*10000+shi*1000+bai*100+qian*10+wan;
printf("反转后的数字是:%d\n",newnumber);
return 0;
}本回答被提问者采纳