用递归法讲一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以使任意位数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用递归法讲一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以使任意位数相关的知识,希望对你有一定的参考价值。

8-17
#include <iostream>
void main()

void exchange(int n);
int n;
printf("输入一个整数\n\n");
scanf("%d",&n);
printf("输出是:\n\n");
if(n<0)

putchar('-');
n=-n;

exchange(n);
printf("\n\n");

void exchange(int n)

int i;
if((i=n/10)!=0) exchange(i);
putchar(n%10+'0');

【不知道这个问题到底想问些什么 请给重点的句子标上注释 好让我这个新手能读懂这个程序】

#include <iostream>
void main()

void exchange(int n);//声明一个函数
int n;
printf("输入一个整数\n\n");
scanf("%d",&n);
printf("输出是:\n\n");
if(n<0)//如果输入的是负数,则输出负号“-”,然后转化为正数处理

putchar('-');
n=-n;

exchange(n);//调用转换函数,其中包括了转换和输出
printf("\n\n");

void exchange(int n)//转换函数定义部分

int i;
if((i=n/10)!=0) exchange(i);//i=n/10,保存了,因为i和10都是整数,所以结果不会是浮点型;如果等于0,说明n就是一位数;不为0说明n是个多位数,递归调用,处理i,即n除去个位的部分
putchar(n%10+'0');//n%10取余数运算,结果就是n的最低位。
参考技术A 这题和
输入一个十进制数,输出它的二进制数
狠类似
#include<stdio.h>
void fun(int n, int r)

if (n>1) fun(n/2,r); //大于1时(对应的二进制数多于1位的数)递归
printf("%d",n%2); //返回前输出本次的余数

main()

int n,r=2;
scanf("%d",&n);
fun(n,r);
printf("\n");

递归实现顺序输出整数

https://pintia.cn/problem-sets/12/problems/358
这个题目和十进制数转换成二进制数类似。

用一个两位数来思考递归的过程,就容易多了。

void printdigits(int n)
{
    if (n < 10)
    {
        printf("%d
", n);
    }
    else
    {
        printdigits(n / 10);
        printf("%d
", n % 10);
    }
}

 

以上是关于用递归法讲一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以使任意位数的主要内容,如果未能解决你的问题,请参考以下文章

用递归法将一个整数n转换成字符串,例如输入483,应输出字符串“483”。N的位数不确定,可以是任

用递归法将一个整数n转换成字符串。例如,输人483,应输出字符串483。n的位数不确定,可以是任意位数的整数

用递归法将一个整数转换成字符串

用递归法将整数n转换成字符串,输入483,输出字符“483”,怎么理解递归函数,putchar是输出一个字符。。

C语言编程:用递归法将一个整数n转换成字符串。

用递归法将一个整数n转换成字符串。