C语言:用递归法讲一个整数n转换成字符串。例如输入483,应输出字符串“483”,n的位数不定,为任意位数整

Posted

tags:

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

原程序请看图片,请哪位懂的人告诉我程序中putchar(n%10+'0')是什么意思啊?为什么用putchar而不用printf?

输入一个十进制数,输出它的二进制数,这狠类似
#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");
参考技术A 为什么是逆循环输出的 参考技术B n%10 这是对10取余数,如n=2345 时 n%10=5 ,n%10+'0' 就是在'0' 的ASCII码值上再加上n%10得到的值,如'0' 的ASCII码值是48,n%10+'0'=5+48=53。这么做是因为ASCII码表中数字字符是从0到9升序排列的,这样写就不用去考虑'0' 的ASCII码值是多少了。
至于为什么用putchar而不用printf,其实putchar()函数的作用等同于printf("%c", ch),所以用printf也是可以的。只是putchar()的功能就是输出一个字符,不需要格式化,这种场合下比printf方便。本回答被提问者采纳

ZZNUOJ_用C语言编写程序实现1141:进制转换(附完整源码)

题目描述

将十进制整数n转换成二进制,并保存在字符数组中,最后输出。

输入

输入一个非负整数n,n<2^31。

输出

输出一个01字符串,即n对应的二进制数,不含前导0。输出占一行。

样例输入

13

样例输出

1101

提示

字符串逆置函数 strrev() 在本平台上无法编译。

完整源码:

#include<stdio.h>
main()

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

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

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

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

c语言输入一个整数,用递归算法将整数倒序输出.

C语言 将一个整数转换成一个字符串

C语言程序答案:将一个整数n转成字符串输出。???不用递归法,还能怎么写