字符转换(C语言)
实验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 }