一道现场编程题:输入一组数字或字符串,中间用空格间隔,实现数字和字符串的加法?解决方案

一道现场编程题:输入一组数字或字符串,中间用空格间隔,实现数字和字符串的加法????面试一家公司的编程题求

一道现场编程题:输入一组数字或字符串,中间用空格间隔,实现数字和字符串的加法????
面试一家公司的编程题求各位大大指教:
计算 a + b 
输入
输入一组数字或字符串,中间用空格间隔,实现数字和字符串的加法。
输出
数字输入为各个数字之和;字符串为各个串的连接串。
要实现的例子:
1)、输入:
1 5 7
  输出:
13(相当于1+5+7)
2)、输入:
1 5 A
输出
15A

[解决办法]

C/C++ code
#include<sstream>#include<string>#include<iostream>using namespace std;int main(){    string line;    getline(cin,line);    if(line.find_first_not_of("-0123456789 \t")!=string::npos)    {        string ans="";        string tmp;        stringstream ss(line);        while(ss>>tmp)        {            ans+=tmp;        }        cout<<ans<<endl;    }    else    {        int ans=0;        int tmp;        stringstream ss(line);        while(ss>>tmp)        {            ans+=tmp;        }        cout<<ans<<endl;    }    return 0;}