-
描述
-
这是本次比赛的最后一个题目,毫无疑问,也是一个很简单的题目,期待它能给各位参赛的同学带来自信和好运。
题目的任务很简单:假设一个字符串中连续的若干数字字符可以认为是一个整数,现在给定一个字符串,请从中找出所有的正整数并求和输出。
比如,第一个样例“a23badfr21,3”中包含3个正整数,分别是23、21和3,所以最后要输出的和应该是47;而第二个样例“I-Love-BIT”中没有任何整数,所以应该输出0。
特别说明,题目保证所有求和的结果在32位整数范围之内。够简单吧——这里想问问各位:今天,你AC了吗?
-
输入
-
输入数据首先包含一个正整数T(0<T<=20),表示有N组测试用例,接下来的N行是N组测试数据,每行包含一个长度不超过100的字符串,不为空串且字符均是ASCII可见字符。
输出
-
对于每组测试数据,请对所有的正整数求和输出,每组输出占一行。
样例输入
-
2 a23badfr21,3 I-Love-BIT
样例输出
-
47 0
水题,字符串处理
#include<iostream> #include<algorithm> #include<string> #include<cstdio> using namespace std; int tu(string s) { if(s=="\0") return 0; int x=s[0]-'0'; for( int i=1;i<s.length();i++) x=x*10+(s[i]-'0'); return x; } int main() { int t,n; scanf("%d",&t); string s; while(t--) { cin>>s; string tt="\0"; int sum=0; for( int i=0; i<s.length(); i++) { if( s[i]-'0' >=0 && s[i]-'0'<=9 ) tt+=s[i]; else { sum+=tu( tt) ; tt="\0"; } } sum+=tu(tt); printf("%d\n",sum); } return 0; }
-
1899 今天,你AC了吗
最新推荐文章于 2021-10-31 21:50:34 发布