求助改代码
题目描述
给定一个字符串,请你提取出字符串中的所有数字,并且将每个数字加上 5 之后再求和。 请注意:数字可能包含前导零,详见样例 2。保证所有数字之和在 long long 的范围内 输入格式
首先输入一个数字表示测试点编号(如果是 −1 则表示是样例),然后输入一个长度不超过
10^5 的字符串。 输出格式
输出一行一个整数表示答案。 样例
【样例 1 输入】
−1 a5b3c2
【样例 1 输出】
25
【样例 2 输入】
−1 a00321b
【样例 2 输出】
326
数据范围与提示
测试点1-2:仅包含数字
测试点3-6:不包含数字0
测试点7-8:仅包含一个字母
测试点9 − 10: 无特殊性质
DM:
#include<bits/stdc++.h>
using namespace std;
char a[1000000];
long long b[1000000],sum;
int main(){
// freopen("collect.in","r",stdin);
// freopen("collect.out","w",stdout);
for(int i=1;i<=1000000;i++)
cin>>a[i];
for(int i=1;i<=1000000;i++){
if(a[i]=='1'||'2'||'3'||'4'||'5'||'6'||'7'||'8'||'9'||'0'){
if(a[i]=='1')
b[i]==1;
if(a[i]=='2')
b[i]==2;
if(a[i]=='3')
b[i]==3;
if(a[i]=='4')
b[i]==4;
if(a[i]=='5')
b[i]==5;
if(a[i]=='6')
b[i]==6;
if(a[i]=='7')
b[i]==7;
if(a[i]=='8')
b[i]==8;
if(a[i]=='9')
b[i]==9;
if(a[i]=='0')
b[i]==0;
sum=sum+b[i]+5;
}
}
cout<<sum;
return 0;
}