使用递归将一个整数各个数字保存到一个数组中
其实非递归方法也是蛮简单的。
递归方法也蛮简单就是从外向内递归处理各个数位罢了。
这里献上源代码
#include <stdio.h>
void fun(int *paInt , int n , int k)
{
if(0 == n) //到头了就返回
{
return;
}
paInt[k] = n % 10; //此处将末位保存到相应数组位置中
fun(paInt , n / 10 , k + 1);
}
void show(int *paInt , int nLen)
{
int i ;
for(i = 0; i < nLen; ++i)
{
printf("%d" , paInt[i]);
}
printf("
");
}
int main(int argc , char *argv[])
{
int nInt , nTmp , nLen = 0;
int *paInt;
scanf("%d" , &nInt);
nTmp = nInt;
while(nTmp > 0)
{
++nLen;
nTmp /= 10;
}
paInt = malloc(nLen * sizeof(int));
fun(paInt , nInt , 0);
show(paInt , nLen);
return 0;
}声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
