1. 程式人生 > >第二週實驗報告之編寫遞迴函式將十進位制數轉換成二進位制數輸出

第二週實驗報告之編寫遞迴函式將十進位制數轉換成二進位制數輸出

 

實驗目的:編寫遞迴函式將十進位制數轉換成二進位制數輸出

實驗內容:
* 程式頭部註釋開始
* 程式的版權和版本宣告部分
* Copyright (c) 2011, 煙臺大學計算機學院學生
* Copyright (c) 2011, 煙臺大學計算機學院學生
* All rights reserved.
* 檔名稱:                            
* 作    者:           劉程程            
* 完成日期: 
* 版本號:        

* 對任務及求解方法的描述部分
* 輸入描述:由程式產生隨機數作為初始值
* 問題描述:……
* 程式輸出:……
* 程式頭部的註釋結束

#include <iostream>

using namespace std;

void  f(int n)
{
 if  (n == 0)

  cout << 0;

 else

  f(n / 2) ;

 cout << n % 2;
}

int main()
{
 int a;

 cin >> a;

 f(a);

 return 0;
}

上機感言:回去好好看遞迴,這是一個很重要的思想!

相關推薦

第二實驗報告編寫函式十進位制轉換二進位制輸出

  實驗目的:編寫遞迴函式將十進位制數轉換成二進位制數輸出 實驗內容: * 程式頭部註釋開始 * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All r

c++第二任務一*(1‐1)編寫函式十進位制轉換二進位制輸出

/任務一 /*(1‐1)編寫遞迴函式將十進位制數轉換成二進位制數輸出。 * 演算法說明: */ #include <iostream> using namespace std; void d2b( int n ) { } int main() { int a;

C語言使用十進位制轉換二進位制輸出程式

void to_binary(unsigned long n); int main() {  unsigned long number;  printf("請輸入一個整數(按q退出):\n");  while(scanf("%ul",&number)==1)  {   printf("二進位制數是:"

C語言演算法十進位制轉換二進位制

導語:在C語言中沒有將其他進位制的數直接輸出為二進位制數的工具或方法,輸出為八進位制數可以用%o,輸出為十六進位制可以用%x,輸出為二進位制就要我們自行解決了。下面給大家講述一下如何程式設計實現將十進位制數轉換成二進位制數。 先將原始碼展示給大家: #include

第二實驗報告十進位制轉換二進位制

實驗目的:十進位制轉換二進位制 實驗內容: /* * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. * 檔名稱: d2b * 作 者: 劉程程 * * 版 本 號: 1.0

關於Java中的操作--(以一個正整型十進位制轉換二進位制為例)

遞迴操作是函式一直在呼叫自身的一種方法,它通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的程式

關於用十進位制轉換二進位制

#include <stdio.h> //十進位制整數轉換為二進位制數並輸出 void calc(int number);//函式宣告 int main(int argc, con

C語言:用實現輸入的整數按逆序輸出。如輸入12345,則輸出54321。

這個程式是我對建構函式有個更深的認識。 首先建構函式要先從頭至尾走一邊才會輸出,無論輸出語句加的位置(迴圈內,條件語句內...除外)。 然後建構函式遞迴可以把問題簡單化,本題如果按常規思路,應該是做個迴圈,把各個數首尾交換。但是用呼叫使得其可以一次輸出一位數,而並不是輸出一個

一個十進位制轉換二進位制輸出--實現

#include <iostream> using namespace std; void WriteBinary(int n) { if(n==0||n==1) cout<<n; else { WriteBinary(n/2); cout<

5.函式--進位制轉換十進位制二進位制

2727: 遞迴函式--進位制轉換(十進位制轉二進位制) Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 791  Solved: 328 [Subm

2727: 函式--進位制轉換十進位制二進位制

輸入一個非負整數(十進位制),呼叫遞迴函式輸出此整數對應的二進位制數。函式宣告如下:void conversion(int n); //將n轉換為二進位制輸出的遞迴函式宣告在以下程式的基礎上,新增conversion函式的定義,使程式能夠正確執行。 提交時,只需要提交conversion函式的定義程式碼即可。

函式實現十進位制轉換為十六進位制輸出

   遞迴函式的定義,不應出現無終止的遞迴呼叫。而應定義為有限次數、有終止的遞迴呼叫函式。       對於一個問題,只要能夠知道遞迴定義式,及邊界條件(即遞迴終止的條件),就可以編寫一個遞迴函式。 #include <stdio.h> #define BASE

第十五實驗報告一(實現氣泡排序演算法,並定義為一個函式

  第15週報告1: 實驗目的:學會氣泡排序演算法 實驗內容:實現氣泡排序演算法,並將之定義為一個函式 * 程式頭部註釋開始 * 程式的版權和版本宣告部分 * Copyright (c) 2011, 煙臺大學計算機學院學生 * All rights reserved. *

演算法課堂實驗報告(二)——python和分治(第k小的,大數乘法問題)

python實現遞迴和分治 一、開發環境 開發工具:jupyter notebook 並使用vscode,cmd命令列工具協助程式設計測試演算法,並使用codeblocks輔助編寫C++程式 程式語言:python3.6 二、實驗目標 1. 熟悉遞迴和分治演算法實現的

C語言第二實驗報告

指定位置 null 無法 解決方案 報告 組成 inf ima 指針 PTA實驗作業 題目一:11-7 找鞍點 一個矩陣元素的“鞍點”是指該位置上的元素值在該行上最大、在該列上最小。 本題要求編寫程序,求一個給定的n階方陣的鞍點。 1、設計思路 第一步:定義二維數組 第二

第二實驗報告

空間 復雜 第二章 數組長度 因此 全部 新建 選擇 cal 一、題目: 7-3 兩個有序序列的中位數。 二、問題描述: 已知有兩個等長的非降序序列S1, S2, 設計函數求S1與S2並集的中位數。有序序列A0,A1,?,AN?1的中位數指A(N?1)/2的值

算法第二實驗報告

查找算法 學習二 找到 二分 實驗 輸出 描述 學習 如果 實踐題目:二分查找 問題描述: 輸入n值(1<=n<=1000)、n個非降序排列的整數以及要查找的數x,使用二分查找算法查找x,輸出x所在的下標(0~n-1)及比較次數。若x不存在,輸出-

Python全棧學習筆記day 17:函式:二分法(老男孩Python全棧學習s9 day17 二分法程式有些問題)

遞迴函式 遞迴 : 在函式中呼叫自身函式 最大遞迴深度預設是997/998 —— 是python從記憶體角度出發做得限制 二分法: 實現程式: 最基礎版:(很多問題:切分導致出現了新列表,無法返回元素在 l 中的位置) l = [2,3,5,10,15,16,

【資料結構練】016 利用演算法及孩子兄弟表示法建立樹、遍歷樹並求樹的深度

一、前言 從今天起,就給大家分享一些樹的程式碼啦,不僅僅是二叉樹,我們要弄明白,普通的樹用資料結構怎麼儲存,它有哪些操作,它可以實現哪些功能? 可能大家要問了,二叉樹不是還沒有寫完嗎,線索二叉樹呢?二叉排序樹呢?平衡二叉樹呢?大家不要急,我們通過二叉樹來入門樹的演算法及程式碼實現,然後學

【資料結構練】015 利用演算法建立鏈式儲存的二叉樹並轉換左右孩子結點

一、前言 哈哈,今天就是程式設計師節啦,祝大家1024程式設計師節快樂。 今天要給大家分享的演算法是交換二叉樹是的左右孩子結點,比較簡單,需要建立一個結點用來暫存左孩子結點,下面給大家送上程式碼。 二、題目 將下圖用二叉樹存入,並交換二叉樹是的左右孩子結點。其中圓角矩形內為結點資