實驗7-3-7 字符轉換 (15 分)
本題要求提取一個字符串中的所有數字字符('0'……'9'),將其轉換為一個整數輸出。
輸入格式:
輸入在一行中給出一個不超過80個字符且以回車結束的字符串。
輸出格式:
在一行中輸出轉換后的整數。題目保證輸出不超過長整型范圍。
輸入樣例:
free82jeep5
輸出樣例:
825
分析:該題是字符串轉換問題,需要對ASCII碼有一定了解,如字符‘0’對應的十進制數為48,字符串轉換數字就需要減去這個‘0’。
C語言代碼如下:
1 #include <stdio.h> 2 #include <string.h> 3 int main(){ 4 char ch[81]; 5 gets(ch); 6 int n = 1, sum = 0; 7 for(int i = strlen(ch); i >= 0; i--){ 8 if(ch[i] >= '0' && ch[i] <= '9'){ 9 sum += n * (ch[i] - 48); 10 n *= 10; 11 } 12 } 13 printf("%d", sum); 14 return 0; 15 }