用递归法讲一个整数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');
【不知道这个问题到底想问些什么 请给重点的句子标上注释 好让我这个新手能读懂这个程序】
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的位数不确定,可以是任意位数的整数