ZZULIOJ 1112: 进制转换(函数专题)

这篇具有很好参考价值的文章主要介绍了ZZULIOJ 1112: 进制转换(函数专题)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述

输入一个十进制整数n,输出对应的二进制整数。常用的转换方法为“除2取余,倒序排列”。将一个十进制数除以2,得到余数和商,将得到的商再除以2,依次类推,直到商等于0为止,倒取除得的余数,即为所求的二进制数。例如,把52换算成二进制数的计算过程如下图:

ZZULIOJ 1112: 进制转换(函数专题),算法,c++,c语言

52除以2得到的余数依次为0,0,1,0,1,1,倒序排列,得到52对应的二进制数110100。

用递归的思想来描述上述计算过程是这样的:输出n/2对应的二进制数,然后输入%2。递归函数的实现过程如下:

void convert(int n)

{

   if(n > 0)

   {

      调用自身,输出n/2对应的二进制数;

       输出n%2;

    }

}

试试吧!

输入

输入一个正整数n。

输出

输出n对应的二进制数。

样例输入 Copy

52

样例输出 Copy

110100

源代码文章来源地址https://www.toymoban.com/news/detail-806536.html

#include<stdio.h>
void convert(int n)
{	
   if(n > 0)
   {
   		convert(n/2);
		printf("%d",n%2);
    }
}
int main()
{
	int n,i;
	scanf("%d",&n);
	convert(n);
	return 0;
	
}

到了这里,关于ZZULIOJ 1112: 进制转换(函数专题)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言【进制转换】35:输出二进制补码

    总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个整型(int)的整数,输出它的32位二进制补码。 输入 一个整型整数。 输出 输出一行,即该整数的补码表示。 样例输入 样例输出 00000000000000000000000000000111 代码实现: 首先要明白 (按位与)和 (左移)的用法 规则: 11=1 10=

    2024年02月07日
    浏览(75)
  • C语言进制转换(全)

    可以通过不断地对10取余数并向左移动二进制位来将十进制数转换为二进制数。具体步骤如下: 1.定义一个数组存放二进制数。 2.定义一个变量记录数组下标。 3.循环取10的余数,直到10为0为止。 4.每次取余数后将其存入数组中。 5.每次取余数后将数组下标加1。 6.最后将数组

    2024年02月08日
    浏览(31)
  • C语言之进制转换

    C语言规定,在八进制数字前要加0(注意这里是数字零,不是大写字母O),在十六进制数字前要加0X或0x(注意这里同样是数字零,不是大写字母O),而在十进制数字前不需要加任何东西。 汇编语言中,在数字后加字母B表示二进制数字,在数字后加字母O表示八进制数字,在

    2023年04月09日
    浏览(27)
  • STM32【十进制-十六进制转换】无需for循环等复杂函数

    之前做项目用到这个功能,也把网上的许多例程都跑了一遍,看到一些复杂的函数也是很头疼,一些方法都是需要用sprintf来操作,但在这里并不适用,最后小鱼君询问 chatgpt 直接解决问题。 由于用到了DWIN串口屏,所以需要将一个三位数的十进制变量转化为十六进制去输出。

    2024年02月14日
    浏览(51)
  • C语言字符串转换为16进制

    方法二:自定义转换函数 输出结果: 这两种方法都可以将C语言字符串逐个字符转换为对应的16进制表示。第一种方法使用了sprintf函数来格式化输出,第二种方法则是通过强制类型转换将字符转换为无符号字符(unsigned char),然后使用printf函数输出对应的十六进制表示。

    2024年02月05日
    浏览(59)
  • C语言实现任意栈之间的进制转换

            利用栈,将十进制数字N转换为D进制(D=2,8,16),其中16进制对应的符号是0~9,A~F。         要求:十进制数字和N进制从键盘输入获得,从屏幕显示进制转换后的数字。 代码: 效果图:

    2024年02月06日
    浏览(41)
  • Go语言核心编程-运算符和进制转换

    运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等 算术运算符 赋值运算符 比较运算符/关系运算符 逻辑运算符 位运算符 其它运算符 算术运算符是对数值类型的变量进行运算的,比如:加减乘除。

    2024年02月05日
    浏览(44)
  • 字母串哈希模板题题解:哈希+前缀和+进制转换+预处理指数函数

    841. 字符串哈希 给定一个 长度为 n n 的字符串,再给定 m m 个询问 , 每个询问包含四个整数 l1,r1,l2,r2 l1,r1,l2,r2,请你判断 [l1,r1][l1,r1] 和 [l2,r2][l2,r2]  这两个区间所包含的字符串子串是否完全相同 。 字符串中只包含大小写英文字母和数字 。 输入格式 第一行包含整数 

    2024年02月14日
    浏览(53)
  • 【C语言】十进制(正负)与二进制(正负)互相转换的方法技巧:短除法、取反、按位乘……

    导读 :二进制数最高位为符号位,0表示正数、1表示负数 1、正数:短除法,然后将所有0、1从上到下连起来从右至左摆放,不够八位数的左边补0 【例】将十进制数60、13转为二进制: 2 | 60 ‾ underline{text{60}} 60 ​                               2 | 13 ‾ underl

    2023年04月10日
    浏览(59)
  • c语言 - printf函数打印16进制格式数据

    使用printf 输出16进制的格式化数据,例如输入 0x0A 备注: printf(\\\"%#.2xn\\\", 0x0a); 这种方式对0x00无效, 0x00输出0

    2024年02月06日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包