7-184 正整数A+B (15 分)
7-184 正整数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:
? + ? = ?
#include <stdio.h>
#include <string.h>
#define MAX 100int judge(const char *);
void separate( char * , char * , const char *);
int main (){char str[MAX],a[MAX],b[MAX];scanf("%s ",a);gets(b);int ai , bi ;ai = judge(a);bi = judge(b);if ( ai == -1 && bi == -1)printf("? + ? = ?");else if (ai == -1 )printf("? + %d = ?",bi);else if (bi == -1)printf("%d + ? = ?",ai);elseprintf("%d + %d = %d",ai,bi,ai+bi);return 0 ;
}
// void separate ( char * a, char *b , const char * str){ //把str以第一个空格为分界拆分成a,b ,可以满足a或b是空输入情况
// 当输入第一个是空白输入情况下scanf("%s ")会忽略空白输入,gets()会读入,所以有个测试点一直过不去,浪费我蛮久的
// int blank,len,i,t;
// char tb[2] = " ";
// t = 0;
// blank = strstr(str,tb) - str + 1;
// len = strlen(str);
// if (blank == 1)
// *a == NULL;
// else
// strncpy(a,str,blank-1);
//
// if (blank == len)
// *b == NULL;
// else{
// for ( i = blank; i<len; i++){
// b[t++] = str[i];
// }
// b[t] = '\0';
// }
// }int judge( const char *t){//判断并取值 int i,ret,len;ret = 0;len = strlen(t); if (len <1 || len >4)ret = -1;else {for ( i=0 ; i<len ; i++){if ( t[i] >= '0' && t[i] <= '9')ret = ret * 10 + t[i] - '0'; else { ret = -1;break;}}}if ( ret < 1 || ret > 1000)ret = -1;return ret ; }
7-184 正整数A+B (15 分)相关推荐
- R7-1 正整数A+B (15 分)
R7-1 正整数A+B (15 分) 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式: 输入在一行给出A和B,其 ...
- 天梯赛 L1-025 正整数A+B (15 分) 小坑不断
天梯赛 L1-025 正整数A+B (15 分) 小坑不断 题目 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式 ...
- 38行代码AC——L1-025 正整数A+B (15分)(~解题报告~)
立志用更少的代码做更高效的表达 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式: 输入在一行给出A和B,其间以空 ...
- 团体程序设计天梯赛-练习集L1-025 正整数A+B (15分)(getline输入)
题目: 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式: 输入在一行给出A和B,其间以空格分开.问题是A和B不一 ...
- 天梯赛 L1-025 正整数A+B (15 分)
重要的是string的find函数与substr #include <iostream> #include <cstring> using namespace std;bool ...
- 团队程序设计天梯赛考点内容总结(15分以上题)
L1: L1-002 打印沙漏 (20 分) 字符模拟 L1-003 个位数统计 (15 分) 字符模拟 L1-005 考试座位号 (15 分) 模拟 L1-006 连续因子 (20 分) 数学因数分 ...
- python 7-8 对于给定的正整数N,求它的位数及其各位数字之和。 (15 分)
python python 7-8 对于给定的正整数N,求它的位数及其各位数字之和. (15 分) python 7-8 对于给定的正整数N,求它的位数及其各位数字之和. (15 分) python ...
- B1091 N-自守数 (15分)
B1091 N-自守数 (15分) 如果某个数 \(K\)的平方乘以\(N\) 以后,结果的末尾几位数等于 \(K\),那么就称这个数为"\(N\)-自守数".例如 \(3×92 ...
- 7-4 递增序列 (15 分)
7-4 递增序列 (15 分) 递增序列指的是,在序列中,对于任何两个相邻的数b[i]和bi+1,总有b[i]<b[i+1].现在,给你一个序列b[1],b[2],-b[n],和一个正整数d,每 ...
最新文章
- c# 学习笔记 (2) 窗体之间互相调用的方法
- mysql优化学习(二)
- 加快LOOP嵌套循环的一个方法
- 架构演进,后端开发进入微服务时代!
- python读取音频文件_python 读取wav 音频文件的两种方式
- php求平均值的函数_最全计算机二级函数关键知识点汇总整理!
- 关于“抵制”易语言的通告
- 邱锡鹏:为什么相比于CV,NLP领域的发展要缓慢?
- 【leetcode】 Unique Binary Search Trees (middle)☆
- CSDN超实用的浏览器插件—去自家网站/搜索广告、超快捷万能搜索、各种实用小功能等诸多功能等你探索
- 如何使用C4D的反射通道创建一个金属外观?
- Redis中的Scan命令的使用
- csrf令牌_是否需要CSRF令牌?
- 分块器评估与语言结构中的递归
- SQL中数据类型转换
- 我的houdini无法查看节点属性WindowsError 234
- [技术杂谈]常用远程工具下载各个平台操作系统
- 前景广阔的技术---云计算
- 2008年公休假安排:
- 2022年全球市场脱脂小麦胚芽粉总体规模、主要生产商、主要地区、产品和应用细分研究报告