字符转换(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 }

 

posted @ 2022-03-14 19:57  撰四记  阅读(815)  评论(0编辑  收藏  举报