使用递归将一个整数各个数字保存到一个数组中
其实非递归方法也是蛮简单的。
递归方法也蛮简单就是从外向内递归处理各个数位罢了。
这里献上源代码
#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。
- 上一篇:没有了
- 下一篇:没有了