ZZULIOJ 1112: 进制转换(函数专题)
生活随笔
收集整理的這篇文章主要介紹了
ZZULIOJ 1112: 进制转换(函数专题)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
進(jìn)制轉(zhuǎn)換(函數(shù)專題)
題目描述
輸入一個(gè)十進(jìn)制整數(shù)n,輸出對(duì)應(yīng)的二進(jìn)制整數(shù)。常用的轉(zhuǎn)換方法為“除2取余,倒序排列”。將一個(gè)十進(jìn)制數(shù)除以2,得到余數(shù)和商,將得到的商再除以2,依次類推,直到商等于0為止,倒取除得的余數(shù),即為所求的二進(jìn)制數(shù)。例如,把52換算成二進(jìn)制數(shù)的計(jì)算過(guò)程如下圖:
52除以2得到的余數(shù)依次為0,0,1,0,1,1,倒序排列,得到52對(duì)應(yīng)的二進(jìn)制數(shù)110100。
用遞歸的思想來(lái)描述上述計(jì)算過(guò)程是這樣的:輸出n/2對(duì)應(yīng)的二進(jìn)制數(shù),然后輸入%2。遞歸函數(shù)的實(shí)現(xiàn)過(guò)程如下:
void convert(int n)
{
if(n > 0)
{
調(diào)用自身,輸出n/2對(duì)應(yīng)的二進(jìn)制數(shù);輸出n%2;}}
試試吧!
輸入
輸入一個(gè)正整數(shù)n。
輸出
輸出n對(duì)應(yīng)的二進(jìn)制數(shù)。
樣例輸入 Copy
52
樣例輸出 Copy
110100
#include<stdio.h> void convert(int n) { int m;if(n > 0){m=n%2;convert(n/2);printf("%d",m);} } int main() {int n;scanf("%d",&n);convert(n);return 0; }
總結(jié)
以上是生活随笔為你收集整理的ZZULIOJ 1112: 进制转换(函数专题)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 页面显示的问题
- 下一篇: ZZULIOJ 1102: 火车票退票费