在C語言中,輸入十進位制數,將其轉化為二進位制數,八進位制數,十六進位制數,並輸出(要求用函式來實現)

2021-04-08 23:56:45 字數 5245 閱讀 1577

1樓:匿名使用者

#include "stdio.h"

#include "stdlib.h"

int main()

c語言程式設計題:從鍵盤輸入一個十進位制數,將其轉換為二進位制、八進位制和十六進位制數,並同時輸出。

2樓:匿名使用者

/*這題非常簡單,你要學過資料結構就非常容易*//*我用個棧來幫你做*/

/*此棧資料項為整型,只定義初始化棧,入棧,出棧操作,輸出棧中元素操作*/

#include

#define maxsize 100

typedef struct stack;//順序棧,也可用鏈棧void initstack(stack &s)//初始化棧int push(stack &s,int x)//入棧}int pop(stack &s,int &x)//出棧}void display(stack &s)cout<

}//應用程式

void func(int n,int m)//n為十進位制數,m為2,8,或16

display(s);

}void main()//這用來測試func//已在vc2005中測試過,可用,至於16進位制時怎麼輸出a,b,..,f,吃過飯我再來貼

3樓:匿名使用者

#include

void showbit(int n)

printf("%d",n%2);

}void showoct(int n)

printf("%d",n%8);

}void showhex(int n)

printf("%d",n%16);

}int main()

4樓:匿名使用者

#include

#include

void showbit(int a)

while (mark);

}int main(void)

5樓:匿名使用者

輸八進位制與十六進位制用printf("%x %o",a,a);就可以了

c語言從鍵盤輸入一個十進位制數,將其轉換為二進位制、八進位制和十六進位制數。

6樓:匿名使用者

#include

#define max 1000

void main()

else if(flag)}}

}int func(char s)

return(n);

}另外,團idc網上有許多產品**,便宜有口碑

7樓:

#include"stdio.h"

main()

求高手寫c語言程式**:"從鍵盤輸入一個十進位制數,將其轉換為二進位制、八進位制和十六進位制數。"

8樓:匿名使用者

#include

//轉換為2進位制

void showbit(int n)

printf("%d",n%2);

}//轉換為8進位制

void showoct(int n)

printf("%d",n%8);

}//轉換為16進位制

void showhex1(int n)

}void showhex(int n)

else

showhex1(n%16);

}main()

程式設計實現:輸入一個十進位制數,轉換成對應的二進位制數、八進位制數和十六進位制數並輸出。

9樓:墨汁諾

1、#include

using namespace std;

int main()

cout

cout

2、main()

printf("二進位制為%s",x);}

10樓:匿名使用者

以下是c++的:

#include

using namespace std;

int main()

cout<六進位制使用格式化輸出即可,oct表示八進位制,hex表示十六進位制

cout<

cout<

c語言輸入任意一個數字轉化為二進位制,十進位制,八進位制,十六進位制

11樓:匿名使用者

#include

void showbit(int n)

printf("%d",n%2);

}void showoct(int n)

printf("%d",n%8);

}void showhex(int n)

printf("%d",n%16);

}int main()

編寫一個程式,要求使用者輸入一個十進位制正整數,然後分別轉換成為二進位制數、八進位制數和十六進位制數輸出

12樓:匿名使用者

樓上的太複雜了吧!c的話直接這樣:

main()

printf("二進位制為%s",x);}

13樓:

這段**是我用c語言寫的,可以實現多個功能的進位制轉換,你參考參考:

#include

#include

#include

void menu();

int bintobex(char str[100],int b);

char * bextobth(int n,int b);

int main()

while(x>12||x<0);

char str[100];

int n;

switch(x)

}return 1;

}void menu()

int bintobex(char str[100],int b)str[i]=0;

len=strlen(str);

for(i=0;i

return str;}

14樓:可の獨角

你是用什麼語言的啊?如果沒有直接轉換的話一般方式如下:

對於轉換成n進位制的數s,先讀入數字,判斷它在n^a與n^(a+1)之間,令m=0,然後進行迴圈:m=m*10; s div n^a得到的數值存入m,令n為n mod n^a; a=a-1;直到n為0

c語言程式設計,輸入十進位制數輸出十六進位制和八進位制

15樓:園林植物手冊

可以通過下面的公式解決

#include

const int maxn = 128;

const int index8 = 8;

const int index16 =16;

int main()

while(m)

int i;

for(i = cot8 - 1; i >= 0; i--)printf("%d", array8[i]);

puts("");

for(i = cot16 - 1; i >= 0; i--)擴充套件資料:

十進位制轉十六進位制的具體方法:對於整數部分,用被除數反覆除以16,除第一次外,每次除以16均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。

對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。

10進位制數轉換成十六進位制數,這是一個連續除以16的過程:把要轉換的數,除以16,得到商和餘數,將商繼續除以16,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

16樓:匿名使用者

可以格式化輸出。

#include

int main()

17樓:匿名使用者

#include

void showbit(int n)

printf("%d",n%2);

}void showoct(int n)

printf("%d",n%8);

}void showhex(int n)

printf("%d",n%16);

}int main()

18樓:著述的鴨子非了

#include

main()

while(n!=0);

for(i--;i>=0;i--)

putchar(s[i]);

} //十進位制轉八進位制 十六進位制方法類似#include

void main()

使用者輸入一個十進位制正整數,然後分別轉換成為二進位制數、八進位制數和十六進位制數輸出。(是c++,不是c)

19樓:匿名使用者

#include

using namespace std;

int main()

cout<十六進位制使用格式化輸出即可,oct表示八進位制,hex表示十六進位制

cout<

cout<

}如果有不懂請追問。

20樓:支景明孔茶

確定問題沒有什麼別的要求??比如說111可以是二進位制也可以是八進位制和十六進位制。。。

21樓:匿名使用者

有一個轉換函式很好用:

char *itoa(int value, char *string, int radix);

int value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進位制數,如2,8,10,16 進位制等

標頭檔案: itoa操作使用

但注意:這個不是c++標準庫函式,只能在visual c++系列編譯器環境下使用

想在gcc上做的話,可以設定輸出格式,也可以自己編函式進行轉換……

22樓:匿名使用者

有輸出格式設定的,

#include

#include

int main()

C語言的十進位制數轉換八進位制演算法有哪些

原發布者 血戰長空wlg 題目 數制轉換問題1.需求分析將十進位制數n轉換成八進位制數是計算機實現計算的基本問題,解決方案很多,其中最簡單的方法是除8取餘法。1 本方案採用順序棧的方式模擬整個過程。其原理如下 例子 1348 10 2504 8nndiv8nmod813481684168210212...

C語言羅馬數字轉十進位制,用c語言編寫把阿拉伯數字轉化為羅馬數字

剛寫的code,測試通過,如果有疑問,歡迎交流 include include define n 13 char str lib 10 int val lib int get value char tar int i 0 for i 0 i include include include int g...

一進位制數 0111111 2轉換為十進位制數是

二進位制如何轉十進位制,十進位制如何轉二進位制 這是一位經驗大神的回答,不是我的回答,我複製過來幫你,你也可以查詢他的回答 瀏覽 90699 更新 2017 12 18 12 30 分步閱讀 學計算機的朋友剛開始學習時都要接觸進位制之間的轉換,二進位制 十進位制 八進位制 十六進位制等,這個是很枯燥...