OJ1134: 字符串转换

来源:互联网 发布:强制uefi安装 ubuntu 编辑:程序博客网 时间:2024/06/05 16:39

1134: 字符串转换
[链接地址:]https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1134
Description

输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以2输出。

Input

输入一个以回车结束的字符串,长度不超过100,由数字和字母组成。

Output

将转换后的整数乘以2输出,测试数据保证结果在int范围内。

Sample Input
sg987aa65t498
Sample Output
197530996

思路:

  1. 创建一个字符数组,并存入字符串
  2. 一个一个字符判断是不是数字
  3. 如果是数字的话,用sum累计求和,然后将字符数字转换成十进制数字,即 str[i] - 48 或者 str[i] - ‘0’

    总结:
    字符串数字转换成十进制数组:str[i] - 48 或者 str[i] - ‘0’
    代码实现:

#include<stdio.h>int main(){    int i = 0, sum=0;    char str[105] = {0};    gets(str);    for(i = 0; str[i] != '\0'; i++)    {        if(str[i] >= '0' && str[i] <= '9')        {                       sum = (str[i] - 48) + (sum * 10);        }    }    printf("%d", sum * 2);    return 0;}