習題7 8 字串轉換成十進位制整數(15 分)

2021-10-05 09:35:01 字數 1637 閱讀 3496

輸入乙個以#結束的字串,本題要求濾去所有的非十六進製制字元(不分大小寫),組成乙個新的表示十六進製制數字的字串,然後將其轉換為十進位制數後輸出。如果在第乙個十六進製制字元之前存在字元「-」,則代表該數是負數。

輸入格式:

輸入在一行中給出乙個以#結束的非空字串。

輸出格式:

在一行中輸出轉換後的十進位制數。題目保證輸出在長整型範圍內。

輸入樣例:

±p-xf4±1!#

輸出樣例:

-3905

#include

intmain()

;break

;case

'0':

s*=16

; flag=1;

break

;case

'1':s=s*16+

1;flag=1;

break

;case

'2':s=s*16+

2;flag=1;

break

;case

'3':s=s*16+

3;flag=1;

break

;case

'4':s=s*16+

4;flag=1;

break

;case

'5':s=s*16+

5;flag=1;

break

;case

'6':s=s*16+

6;flag=1;

break

;case

'7':s=s*16+

7;flag=1;

break

;case

'8':s=s*16+

8;flag=1;

break

;case

'9':s=s*16+

9;flag=1;

break

;case

'a':

case

'a':s=s*16+

10;flag=1;

break

;case

'b':

case

'b':s=s*16+

11;flag=1;

break

;case

'c':

case

'c':s=s*16+

12;flag=1;

break

;case

'd':

case

'd':s=s*16+

13;flag=1;

break

;case

'e':

case

'e':s=s*16+

14;flag=1;

break

;case

'f':

case

'f':s=s*16+

15;flag=1;

break

;default

:break;}

scanf

("%c"

,&t);}

printf

("%d"

,sign*s)

;return0;

}

習題7 8 字串轉換成十進位制整數

輸入乙個以 結束的字串,本題要求濾去所有的非十六進製制字元 不分大小寫 組成乙個新的表示十六進製制數字的字串,然後將其轉換為十進位制數後輸出。如果在第乙個十六進製制字元之前存在字元 則代表該數是負數。輸入在一行中給出乙個以 結束的非空字串。在一行中輸出轉換後的十進位制數。題目保證輸出在長整型範圍內。...

習題7 8 字串轉換成十進位制整數

判斷是否是十六進製制字元,是返回1 4int hex to dec char ch 十六進製制字元轉換位十進位制數 5int main void 6 1415 int j 0 16 int count 0 十六進製制字元的個數 17int first hex 1 第乙個十六進製制字元的下標 18fo...

PTA習題7 8 字串轉換成十進位制整數

輸入乙個以 結束的字串,本題要求濾去所有的非十六進製制字元 不分大小寫 組成乙個新的表示十六進製制數字的字串,然後將其轉換為十進位制數後輸出。如果在第乙個十六進製制字元之前存在字元 則代表該數是負數。輸入格式 輸入在一行中給出乙個以 結束的非空字串。輸出格式 在一行中輸出轉換後的十進位制數。題目保證...