# **字串的號碼** 程式題目: 給定一「僅由**空白**、**大小寫字母**及**阿拉伯數字**所組成」的字串,請將該字串「加總」成為該字串的「號碼」。 * 空白值規定為十進制下的 32(三十二) * 阿拉伯數字為字面值(一位一位地加總) * 而字母的值如下所示:A = a = 0, B = b = 1, C = c = 2, ..., Z = z = 25 舉例來説——“Ty 106a9t”(不含引號): * T = 19 * y = 24 * 空白 = 32 * a = 0 * t = 19 所以答案為:19 + 24 + 32 + 1 + 0 + 6 + 0 + 9 + 19 =110 輸入規則: 輸入僅有一行,為一字串: * 該字串僅包含空白、大小寫字母及阿拉伯數字 * 該字串至少包含一個上述字元,且總長度不超過 150 輸出規則: 請根據題目敘述,將該字串轉換成其對應的**整數**後輸出。 * 保證該答案不會超過 2的31次方-1 輸入範例: ``` Ty 106a9t ``` 輸出範例: ``` 110 ``` 以下為我的程式碼: ```c #include <stdio.h> #include <ctype.h> int main() { char input[151]; int sum = 0; fgets(input, sizeof(input), stdin); for (int i = 0; input[i] != '\0'; i++) { char ch = input[i]; if (ch == ' ') { sum += 32; } else if (ch >= '0' && ch <= '9') { sum += ch - '0'; } else if (isalpha(ch)) { ch = toupper(ch); sum += ch - 'A'; } } printf("%d\n", sum); return 0; }