PTA 天梯赛备赛 L1-025 正整数A+B (15分)(getline)
发布日期:2021-06-29 14:35:08
浏览次数:3
分类:技术文章
本文共 986 字,大约阅读时间需要 3 分钟。
题目描述
L1-025 正整数A+B (15分)
题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:
输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。
输出格式:
如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?,显然此时和也是?。输入样例1:
123 456
输出样例1:
123 + 456 = 579
输入样例2:
22. 18
输出样例2:
? + 18 = ?
输入样例3:
-100 blabla bla...33
输出样例3:
? + ? = ?
解题思路
将输入处理成字符串,注意使用 getline
,此题一个注意点就是对于数字的话,要判断一下是否处于 1-1000范围内,不是的话也不行。
提交代码
#includeusing namespace std;string a,b;int checkIt(string str){ int sum=0; for(int i=0;i =1&&sum<=1000) return sum; else return -1;}int main(){ cin>>a; getchar(); getline(cin,b); int sumA=checkIt(a); int sumB=checkIt(b); if(sumA==-1) printf("? + "); else printf("%d + ",sumA); if(sumB==-1) printf("? = "); else printf("%d = ",sumB); if(sumA==-1 || sumB==-1) printf("?\n"); else printf("%d\n",sumA+sumB); return 0;}
提交结果
学如逆水行舟,不进则退
转载地址:https://chocolate.blog.csdn.net/article/details/109732152 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月07日 23时27分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
idea中的一些常用快捷键
2019-04-29
js校验表单后提交表单的三种方法总结【转载】
2019-04-29
欢迎使用CSDN-markdown编辑器
2019-04-29
a标签中href调用js的几种方法
2019-04-29
jstl标签详解
2019-04-29
Eclipse中使用SVN的使用
2019-04-29
JSON.parse和eval的区别
2019-04-29
JQuery中$.ajax()方法参数详解
2019-04-29
正则表达式的数字实例
2019-04-29
【转】EasyUI 验证
2019-04-29
Django实战---商城购物车的增删改、显示和合并购物车
2019-04-29
Django项目实战----添加支付宝支付
2019-04-29
DRF框架---前言(简单使用)
2019-04-29
字符串外面是b“ “的转换 -亲测有效
2019-04-29
单通道和多通道卷积
2019-04-29
npy文件和pkl文件的保存和读取
2019-04-29
买卖股票的最佳时机
2019-04-29
AUC粗浅理解笔记记录
2019-04-29
torch 模型运行时间与forward没对应的可能原因
2019-04-29