转载请注明出处: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\n",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\n",zhenghe);
getchar ();
return 0;
}

本文介绍了一个简单的C++程序,该程序实现了整数的拆分与重组功能。通过递归方式将一个整数拆分成各个数字,并存入数组中;再利用10的幂次函数将这些数字按原始顺序重组为新的整数。
2万+

被折叠的 条评论
为什么被折叠?



