dzrs.net
当前位置:首页 >> 将整数递归转换成字符串 >>

将整数递归转换成字符串

程序:main() {void dtos(int); int n; scanf("%d",&n); dtos(n); } void dtos(int n) {int m; if(m=n/10)!=0)dtos(m); /* 逐位分离 */ printf("%c ",n%10+'0'); /* 取个位转换为字符 */ }

//举例说明该函数流程,假如输入123,123/10后得12,余数是3 //再次运行convert函数,12/10得1,余数是2 //再次运行convert函数,1/10得0,余数是1 //至此,递归结束,开始打印数字,首先打印最后一次递归的结果1 //然后打印倒数第二次的结

由于你没有指定语言,我这里只说算法 分析题目,要求用递归的话这样做比较好: 定义字符串s; 输入n; void 递归函数(int n) { 如果n\10==0,则打印n;返回;//递归出口:如果n只有 //个位,则打印并返回 否则 { 递归函数(n\10) //先递

问题不难哈..呵呵 刚刚随便写了一下下.. 递归做的.你仔细领悟一下递归的真谛就明白了.恩 #include<stdio.h> #include<string.h> __int64 dfs(char *s,__int64 now) { if(now==0) return s[now]-'0'; else return dfs(s,now-1)*10+s[now]-'0'; }

#include<stdio.h>#include<math.h> void IntegerToString(char *str,int num) { int n=abs(num); int k=1; if(n/10==0) { 属*str=n+0x30; *(str+1)='\0'; k++; } else { *str=n%10+0x30; n=n/10; k++; IntegerToString((str+1),n);//递归 } } void swapstring(char *str)

你好!你不是用递归做的,如果只是简单的输出,可以这样做:void tran(int a) { if(a>=10) tran(a/10); printf("%d",a%10); } void main() { tran(12345); } 希望对你有所帮助,望采纳.

#include void reversal(char str[], int length){ //反转 int i; for(i=0; i char temp = str[i]; str[i] = str[length-i-1]; str[length-i-1] = temp; } } void itos(int n, char str[], int i){ //递归 if(n==0){ str[i] = '\0'; reversal(str,i); return; } str[i++] = n%10+48; itos(n/10,str,i); } int

void append(char *s, char c){ int i; for(i = 0; s[i]; i++); s[i++] = c; s[i] = '\0';}void _trans(int a, char *s){ int tmp; if(a == 0) return; tmp = a%10; tmp += 48; _trans(a/10, s); append(s, (char)tmp);}void trans(int a, char *s){ s[0] = '\0'; _trans(a, s);}只调用trans函数即可 递归效率很低 编程极力不推荐!

c版本的. #include int main() { void convert(int n); int num; printf("input an integer:\n"); scanf("%d",&num); printf("output:\n"); if(num==0) printf("0\n"); else { if(num

string getans(int n) { string c=""; //每次调用,这个字符串都是“空”的?if(n/10==0) return (c+(char)n); else { c=c+getans(n/10)+char(n%10); return c; } }

rpct.net | 3859.net | jmfs.net | 9647.net | pznk.net | 网站首页 | 网站地图
All rights reserved Powered by www.dzrs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com