當前位置:
首頁 > 最新 > 每天十分鐘,C語言一點通-n進位轉換為十進位

每天十分鐘,C語言一點通-n進位轉換為十進位

Hello,小夥伴們,相信很多朋友剛開始接觸的編程語言就是C啦,當然在開始學習的時候最頭疼的就是進位轉換,是不是很難理解?不過沒關係,你可以用下面的程序進行操作演算。

那麼是如何實現的呢?

具體代碼如下,我做了注釋方便你學習哦,你可以將圖片保存下來慢慢研究,遇到問題也可以詢問我哦!

#include

#include

#include

#pragma warning(disable:4996)

int main()

{

long t1;

int i, n, t, t3;

char a[100];

printf("please input a number string:
");

gets(a); /*輸入n進位數存到數組a中*/

strupr(a); /*將a中的小寫字母轉換成大寫字母*/

t3 = strlen(a); /*求出數組a的長度*/

t1 = 0; /*為t1賦初值0*/

printf("please input n (2or8or16):
");

scanf("%d", &n); /*輸入進位數*/

for (i = 0;i

{

if (a[i] - "0" >= n&&a[i] = n) /*判斷輸入的數據和進位數是否相符*/

{

printf("data error!!"); /*輸出錯誤*/

exit(0); /*退出程序*/

}

if (a[i] >= "0"&&a[i]

t = a[i] - "0"; /*求出該數字賦給t*/

else if (n >= 11 && (a[i] >= "A"&&a[i]

t = a[i] - "A" + 10; /*求出字母所代表的十進位數*/

t1 = t1*n + t; /*求出最終轉換成的十進位數*/

}

printf("the decimal is %ld
", t1); /*將最終結果輸出*/

system("pause"); /*可以在任意時刻真正的暫停程序*/

}

需要說明的是,我用的Visual Studio2017編寫的C語言程序,如果你也用和我一樣的編譯器,你可能會遇到這種情況

C4996 『strcpy』等等

解決的辦法就是在main前面加

#pragma warning(disable:4996)

有什麼問題也可以問我哦

下面是驚喜時刻,每日一題!

如何將十進位轉換為十六進位,如何用最簡單的代碼實現!!!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python松 的精彩文章:

AI人工智慧的現在和未來,這就是你薪資的差距

TAG:Python松 |