请大家帮忙告诉我这道编程题的思路应该是怎么样呢?
大家帮忙告诉我这道编程题的思路应该是怎么样呢? 同时递归应如何使用呢? 7. 用递归法写两个函数ntoc()和cton(),ntoc函数能够将一个整数转换成相应的字符串,如将483转换成“483”输出,而cton函数能够将一个由数字构成的字符串转换成整数输出。被转换对象的位数不确定。
void ntoc(int n, char*s) //n为要转换的数字,s为字符串指针 { int i = n%10, k; //i保存的是个位数 n /= 10; //n保存的是整除数 if (n > 0) //说明不是最高位 { ntoc(n, s); for (k = 0; s[k] > 0; k++); //找到字符串尾 s[k++] = '0' + i; s[k] = 0; } else //找到了最高位 { s[0] = '0' + i; s[1] = 0; //不可省 } } int cton(char* s, int *n)//n为目标整数的指针,且要求在第一次调用时其值为0,否则会导致输出错误 { int i = *s++ - '0'; *n = *n*10 + i; if (*s > 0) { *n = cton(s, n); } return *n; } main() { char number[10]; int i; scanf("%d",&i); ntoc(i,number); i = 0; cton(number,&i); printf("\n%s\n%d\n", number,i); } 。
呵呵!上面这位在搞什么 char* ntoc(int pIntValue) { char *strRe=new char[100]; if(pIntValue<10) { itoa(pIntValue,strRe,10); return strRe; } //求得个位上的数 int intValue=pIntValue%10; itoa(intValue,strRe,10); //把个位转为字符 return strcat(ntoc((int)pIntValue/10),strRe); //递归 }
if( k > 10) { //获得个位数 int a = k % 10; //往某个字符串输出 //进位 k /= 10; //递归 ntos(k); }
答:是美国的一个潮牌,产品是帽子详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>