acm 笔记 1000

本贴最后更新于 2046 天前,其中的信息可能已经时过境迁

题目描述

DD 小朋友今年三年级,最近,声称设计了一套“超级密码”系统!

说实话,这套所谓的“超级密码”一点也不难:

对于一个给定的字符串,你只要提取其中的数字,然后连在一起构成一个整数,再乘以 DD 小朋友的幸运数字 513,就是解密后的结果了~

比如,字符串“ads2d4,122”,提取后的整数是 24122,然后乘以 513,就能得到解密后的结果:12374586。

注:题目保证解密后的结果在 32 位整数范围。

输入

输入首先包括一个正整数 N,表示有 N 组测试用例。
每组数据占一行,包含一个长度不超过 30 的字符串。

输出

请根据题目要求输出解密后的结果,每组数据输出一行。

样例输入

2
ads2d4,122
0023asdf2AA90

样例输出

12374586
11947770

答案

#include <iostream>
#include<string>
using namespace std;
void app(string a)
{
    int j = 0;
    int result = 0;
    for (j = 0; j <= a.size() - 1; j++)
    {
        if (a[j] >= '0' && a[j] <= '9')
        {
            result = result * 10 + int(a[j]) - 48;
        }

    }
    cout << result * 513 << endl;
}
int main()
{
    //存行数
    int ArraySize;
    cin >> ArraySize;


    string ArrayIn[ArraySize];//存字符串
    for (int i = 0; i < ArraySize; i++)
    {
        cin >> ArrayIn[i];
    }

    for (int i = 0; i < ArraySize; i++)
    {
        string a = ArrayIn[i];
        app(a);
    }
    return 0;
}

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...