博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
L1-025 正整数A+B (15 分)
阅读量:2059 次
发布时间:2019-04-29

本文共 1176 字,大约阅读时间需要 3 分钟。

题的目标很简单,就是求两个正整数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:
? + ? = ?

#include 
#include
//包含atoi()函数,该函数可以把字符串转换为数字#include
//包含memset()函数int error(char c[]);int main(){
char a[20], b[20]; char x[5], y[5]; scanf("%s ", a); gets(b); memset(x, '\0', sizeof(x));//初始化 memset(y, '\0', sizeof(y)); if (error(a)==0) x[0] = '?'; if (error(b)==0) y[0] = '?'; if (x[0] != '?') for (int i = 0; i < strlen(a); i++) x[i] = a[i]; if (y[0] != '?') for (int i = 0; i < strlen(b); i++) y[i] = b[i]; if (x[0] == '?' || y[0] == '?') printf("%s + %s = ?", x, y); else printf("%d + %d = %d", atoi(x), atoi(y), atoi(x) + atoi(y)); return 0;}int error(char c[]){
if (c[0] == '0') return 0; if (strlen(c) > 4) return 0; for (int i = 0; i < strlen(c); i++) if (c[i] < '0' || c[i]>'9') return 0; if (atoi(c) > 1000) return 0; return 1;}

转载地址:http://yiolf.baihongyu.com/

你可能感兴趣的文章
【Pyton】【小甲鱼】异常处理:你不可能总是对的
查看>>
APP性能测试工具
查看>>
【Pyton】【小甲鱼】类和对象
查看>>
压力测试工具JMeter入门教程
查看>>
作为一名软件测试工程师,需要具备哪些能力
查看>>
【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)
查看>>
【Pyton】【小甲鱼】魔法方法
查看>>
单元测试需要具备的技能和4大阶段的学习
查看>>
【Loadrunner】【浙江移动项目手写代码】代码备份
查看>>
Python几种并发实现方案的性能比较
查看>>
[Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
查看>>
Jmeter之正则
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Python】用Python打开csv和xml文件
查看>>
【Loadrunner】性能测试报告实战
查看>>
【面试】一份自我介绍模板
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>