解题思路:
(1)题目把输入的格式做了很严格的限制,所以直接按照 cin >> num1 >> op1 >> num2 >> op2 >> res 的格式读输入就行了。
(2)res 是字符串,因为可能不止一位数,因此需要用 stoi() 函数转成 int。
(3)测试用例自带文件结束符,自己输入的话要加 ctrl + z 来结束。
注意事项:
没啥好注意的,题目已经限制死了“格式保证符合上述规定,且不包含任何空白字符。输入的所有整数均不含前导0”,所以没必要做异常处理。
参考代码:
// 题目 1073: 弟弟的作业 #include <iostream> #include <cstring> using namespace std; // 测试用例自带文件结束符,自己输入的话要 ctrl + z int main() { int num1, num2, resNum; // 两个数字和转化为整数的结果 char op1, op2; // 运算符,op2 必定是'=' string res; // 可能是两位数或三位数,不能用char int correct = 0; // 答对的数量 while (cin >> num1 >> op1 >> num2 >> op2 >> res) { if (res != "?") { resNum = stoi(res); // string 转 int,如果是 char 转 int 就用 atoi() if (op1 == '+') { if (num1 + num2 == resNum) { ++correct; } } else { if (num1 - num2 == resNum) { ++correct; } } } } cout << correct << endl; return 0; }
0.0分
4 人评分
简单的a+b (C语言代码)浏览:703 |
C语言训练-最大数问题 (C语言代码)浏览:633 |
兰顿蚂蚁 (C++代码)浏览:1090 |
c primer plus 第十二章 12.1小节浏览:375 |
简单的for循环浏览:1408 |
WU-C语言程序设计教程(第三版)课后习题11.11 (C++代码)(想学链表的可以看看)浏览:1345 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:522 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:560 |
前10名 (C语言代码)浏览:725 |
最好的,浏览:563 |