請教如何用C語言實現10進位制轉換5進位制的轉換器

2021-08-20 01:17:45 字數 5165 閱讀 1997

1樓:

//這是我資料結構課上老師留的課堂作業,但是此**並非本人原創。但已通過驗證。

//這個**可以把十進位制的轉換成任意進位制的。

#include

#include

#define stack_init_size 50#define stack_increment 10//①------------棧定義--------typedef structstack;

//②-----------構造棧---------stack initstack()

//③------------判空----------int stackempty(stack s)//④---------- 清空棧----------void clearstack(stack s)//⑤------------壓棧-------------void push(stack *s,int elem) //必須用指標,否則top地址出了函式後不變

*(s->top++)=elem;

}//⑥------------出棧---------------int pop(stack *s) //必須用指標,否則top地址出了函式後不變

//printf("%d ",*(--s.top));

return *(--s->top);

}//⑦------------求棧長-----------int getlength(stack s)//⑧-------------求棧頂----------int gettop(stack s)

return *(s.top-1);

}//------------主函式-----------int main()

push(s1,d1);

printf("%d轉化為%d進位制後為:\n",d3,d2);

while(!stackempty(s))printf("\n");}

2樓:匿名使用者

//例子:十進位制的12345 轉化成五進位制。

#include

int main()}}

3樓:戈清寧

#include

#include

int power(int a,int b)return sum;

}void main()

將函式change中的num 全部轉為5

即可固定轉變為進製為5的數

或者在執行時 輸入 num,5 num為要轉化的10進位制數也可轉化為 5進位制數、

4樓:匿名使用者

就給個思路:不斷對5求餘%,所得的一系列數從後往前排就差不多是

c語言如何實現十進位制轉換二進位制?

5樓:

#include

#include

#include

using namespace std;

string zhuanhuan(int num,int base)while(num!=0);

while(!stk.empty())

return numstr;

}int main()

以上**能實現任意進位制之間的轉換!希望對你有幫助!!

6樓:理工男老

十進位制轉換為二進位制的方法,十進位制轉化為二進位制,十進位制轉2進位制

c語言程式十進位制的數轉換成八進位制的數

7樓:楓橋映月夜泊

c語言程式十進位制的數轉換成八進位制的數的辦法:

#include

#include

void main()

printf("八進位制輸出sum:%d",sum);}

8樓:

#include

int main()

9樓:匿名使用者

先10轉2 再轉8,16進位制。8,16轉2再轉10進位制。

比如:八進位制:63 ->二進位制:110(6) 011(3) -> 十進位制:32+16+2+1 = 51

十六進位制:a5 ->二進位制:1010(a) 0101(5) -> 十進位制:128+32+4+1 = 165

十進位制 19 ->二進位制 1 0011 -> 八進位制: (010 011) = 23

-> 十進位制:(0001 0011) = 13通過二進位制之後 會簡單多了,希望對你有幫助。

10樓:聽不清啊

#include

void dec2oct(int x)

int main()

11樓:汪好帥

#include

#include

void main()

printf("八進位制輸出sum:%d",sum);}

12樓:匿名使用者

??????????????

跪求c語言中,能實現2,8,10,16進位制之間轉換的源**啊

13樓:來學c語言

全能的!

#include

two_eight()

i=0;

while(n)

printf(" 2 進位制轉化為 8 進位制:");

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

printf("%d",s[i]);

printf("\n");

}two_ten()

printf(" 2 進位制轉化為 10 進位制:%d\n",n);

}two_sixten()

i=0;

while(n)

i++;

}printf(" 2 進位制轉化為 16 進位制:");

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

printf("%c",str[i]);

printf("\n");

}eight_two()

i=0;

while(n)

printf(" 8 進位制轉化為 2 進位制:");

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

printf("%d",s[i]);

printf("\n");

}eight_ten()

printf(" 8 進位制轉化為 10 進位制:%d\n",n);

}eight_sixten()

i=0;

while(n)

i++;

}printf(" 8 進位制轉化為 16 進位制:");

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

printf("%c",str[i]);

printf("\n");

}ten_two()

printf(" 10 進位制轉化為 2 進位制::");

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

printf("%d",s[i]);

printf("\n");

}ten_eight()

printf(" 10 進位制轉化為 8 進位制:");

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

printf("%d",s[i]);

printf("\n");

}ten_sixten()

i++;

}printf(" 10 進位制轉化為 16 進位制:");

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

printf("%c",str[i]);

printf("\n");

}sixten_two()

i++;

}for(j=0;j=0;i--)

printf("%d",s[i]);

printf("\n");

}sixten_eight()

i++;

}for(j=0;j=0;i--)

printf("%d",s[i]);

printf("\n");

}sixten_ten()

i++;

}for(j=0;j12;)

switch(select)

printf("按任意鍵回車繼續,按 n 鍵退出程式。");

getchar();

n=getchar();

printf("\n");}}

14樓:匿名使用者

#include

#include

#include

#include

#include

#define cap 80

char *inputnum(char *num,const int base)

return num;

}void c2t(char *num)

sprintf(num,"%d",n);

}void ctbin(const int n)

}void ct(char *num,const int sbase,const int tbase)

switch (tbase)

}int main(void)

在c語言中,如何用陣列來實現2進位制轉換為10進位制?

15樓:育知同創教育

用陣列來實現2進位制轉換為10進位制的方法:

#include

#include

viod main()

while(n!=0);

for(i=49;a[i]==0;i--) ; //找到二進位制開始的地方,也就是最後一個餘數在陣列中的位置

for(;i>-1;i--)

printf("%d",a[i]);}

16樓:

問題不是很清楚,是一個'1' 和『0』 的char 作為input,然後一個int 作為結果的話,可以這樣寫:

比如進來時「10100010001」這樣一個用char 表示的string的話

int convert(char * arg)return result;

}如果想程式跑的快點可以加一個 #pragma omp parallel for (+:result) firstprivate(i) 在for迴圈前面一行, 當然如果題主不需要就當沒看到這個啦, xd

希望解答了你的問題

如何用C語言實現dirabc 功能

include include include define rp f 需要進行查詢的目錄 define fa 需要查詢的檔案型別 void find char c,file fp tmp 255 strcpy tmp,c while dr dr findnext fb while df int m...

c語言實現矩陣的轉置 相加 相減 相乘

你的 中沒有x i j 二維陣列的值賦給p i j 同時在矩陣轉置的時候要考慮陣列越界的可能性,使用stl庫中的vector動態開闢吧,可以避免陣列越界 跪求c語言實現矩陣運算 加,減,乘 求逆 轉置 include include void jiafa printf 第一步變換後得到的增廣矩陣為 ...

如何用c語言實現檔案先寫入部分資料,然後再讀取輸出在螢幕上

按照結構體寫入 void writefile int j fp fopen for j 0 j 你寫的是一個二進位制檔案,不能以文字檔案的方式來讀的。要先用fread讀到同樣定義的studnt型別的結構體 或結構體陣列 中,然後再用格式化輸出語句進行輸出結構體的每一個域。c語言 怎麼把一個指定檔案的...