实验7-3-7 字符转换(15 分)
本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。
输入格式:
输入在一行中给出一个不超过80个字符且以回车结束的字符串。
输出格式:
在一行中输出转换后的整数。题目保证输出不超过长整型范围。
输入样例:
free82jeep5
输出样例:
825
#include<stdio.h>
#include<string.h>
#define N 85
//思路:使用字符数组存储数字的字符形式,然后将字符处理成数字。
int main(void)
{
int i, j, temp=1, flag, len1 = 0, len2 = 0, sum = 0;
char ch;
char str1[N]; //存储输入的字符串
char str2[N]; //存储处理后的字符串
ch = getchar(); //输入字符串
for (i = 0; ch != '\n'; i++)
{
str1[i] = ch;
len1++;
ch = getchar();
}
for (i = 0; i < len1; i++) //初步处理字符串,得到‘0’ 到 ‘9’的字符数组
{
if (str1[i] >= '0' && str1[i] <= '9')
{
str2[len2] = str1[i]; //经典:获取字符串中需要的字符。设置计数器,只有发现大写字母时len2才进行加1 处理
len2++; //记录大写字母的长度
}
}
for (i = len2-1; i >= 0; i--)
{
sum += (str2[i] - '0') * temp;
temp *= 10;
}
printf("%d\n", sum);
return 0;
}
实验7-3-7 字符转换(15 分)
最新推荐文章于 2024-08-29 23:43:04 发布