[PTA]实验7-3-7 字符转换

Posted Spring-_-Bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验7-3-7 字符转换相关的知识,希望对你有一定的参考价值。

本题要求提取一个字符串中的所有数字字符(‘0’……‘9’),将其转换为一个整数输出。

输入格式:

输入在一行中给出一个不超过80个字符且以回车结束的字符串。

输出格式:

在一行中输出转换后的整数。题目保证输出不超过长整型范围。

输入样例:

free82jeep5

输出样例:

825
  • 提交结果:

在这里插入图片描述

  • 源码:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
int main(void)
{
	char str[81];
	long int sum = 0;
	int index = 0;

	// 输入字符串
	gets(str);

	// 从后往前遍历数组,方便计算最终结果
	for (int i = strlen(str) - 1; i >= 0; i--)
	{
		// 某个字符是数字字符
		if (isdigit(str[i]))
		{
            // 将其转化为数字
			int number = str[i] - '0';
            // 依次是个位、十位,百位···,累加求和
			sum += number * pow(10, index);
			index++;
		}
	}

	printf("%ld", sum);
}

以上是关于[PTA]实验7-3-7 字符转换的主要内容,如果未能解决你的问题,请参考以下文章

[PTA]实验7-3-6 字符串转换成十进制整数

[PTA]实验8-2-10 IP地址转换

字符数组

[PTA]实验8-2-9 长整数转化成16进制字符串

[PTA]实验10-9 十进制转换二进制

[PTA]实验2-1-2 温度转换