转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51759662
// 整数分解然后再整合.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
/*
* 第一个参数 num :要被分解的整数
* 第二个参数 a[] :把整数分解后,存在这个数组里
* 函数返回值 : 被拆的整数 的位数
*/
int myRevert(int num, int a[]) //把整数拆分
{
static int count = 0;
if(num < 10)
{
a[count++] = num;
}
else
{
a[count++] = num % 10;
myRevert(num / 10, a);
}
return count;
}
//求10的n次方
int Mult10(int n)
{
int sum = 10;
int m;
if(n==0) return 1;
for(m=1;m<n;m++) sum*=10;
return sum;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[10],i=0,count1=0;
int zhenghe=0;
//for(i=0;i<10;i++)
// a[i]=0;
//整数拆分
count1 = myRevert(123456789,a);
for(i=0;i<count1;i++)
printf("%d
",a[i]); // 9 8 7 6 5 4 3 2 1
//整数 整合
for(i=count1-1;i>=0;i--)
zhenghe =zhenghe + a[i]*Mult10(i);
printf("%d
",zhenghe);
getchar ();
return 0;
}