爱问知识人 爱问教育 医院库

请大家帮忙告诉我这道编程题的思路应该是怎么样呢?

首页

请大家帮忙告诉我这道编程题的思路应该是怎么样呢?

大家帮忙告诉我这道编程题的思路应该是怎么样呢?
同时递归应如何使用呢?
7.  用递归法写两个函数ntoc()和cton(),ntoc函数能够将一个整数转换成相应的字符串,如将483转换成“483”输出,而cton函数能够将一个由数字构成的字符串转换成整数输出。被转换对象的位数不确定。

提交回答
好评回答
  • 2006-06-15 15:56:22
      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);
    }
    。
      

    b***

    2006-06-15 15:56:22

其他答案

    2006-06-17 10:53:34
  • 呵呵!上面这位在搞什么
    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); //递归
    	
    }

    风***

    2006-06-17 10:53:34

  • 2006-06-15 17:06:35
  • if( k > 10)
    {
    //获得个位数
    int a = k % 10;
    //往某个字符串输出
    //进位
    k /= 10;
    //递归
    ntos(k);
    }

    y***

    2006-06-15 17:06:35

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 169-188
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):