给定一个字符串,计算字符串中数字个数并计算总和,其中有符号
例如 312basf-2fasfs afs2
输出 3 312
#include "bits/stdc++.h"
using namespace std;
int main(void) {
char temp[1024];
while(scanf("%[^\n]",temp)!=EOF){
getchar();
int len=strlen(temp);
int flag=false;
bool yes=false;
int num=0;
int ans=0;
int cnt=0;
for(int i=0;i<=len;i++){
if((temp[i]>='0')&&(temp[i]<='9')){
if(!yes)yes=true;
num*=10;
num+=temp[i]-'0';
}else{
if(yes){
if(flag){
num=-num;
ans+=num;
num=0;
}else{
ans+=num;
num=0;
}
cnt++;
yes=false;
}
if(temp[i]=='-'){
flag=true;
}else{
flag=false;
}
}
}
cout<<cnt<<" "<<ans<<endl;
}
return 0;
}