解题思路:
c++ STL的string类包含了多种对字符串的处理方式。本题可用string.find()找到运算符号的位置,得到位置后用string.substr()划分数字与运算符。
注意事项:
string转换成int的方式有多种,C++中多用stringstream
参考代码:
#include <iostream> #include <string> #include <sstream> using namespace std; int toInt(string s){ int ret; stringstream stream(s); stream>>ret; return ret; } int main(){ string str; int sum = 0; while(cin>>str){ int a=0,b=0,c=0; string::size_type pos1,pos2; pos1 = str.find_first_of("+-");//找到加号或减号的位置 pos2 = str.find('=');//找到等号的位置 a = toInt(str.substr(0,pos1)); b = toInt(str.substr(pos1,pos2)); c = toInt(str.substr(pos2+1));//从位置pos2+1到最后 if(a+b==c) sum += 1; } cout<<sum<<endl; }
0.0分
38 人评分
C语言训练-素数问题 (C语言代码)浏览:990 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:602 |
分糖果 (C++代码)浏览:1438 |
【亲和数】 (C语言代码)浏览:501 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:879 |
C二级辅导-阶乘数列 (C语言代码)浏览:688 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:904 |
WU-小九九 (C++代码)浏览:1681 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:624 |
星期判断机 (C语言代码)浏览:859 |