L1-025. 正整数A+B 简单复习一下,。
本题的目标很简单,就是求两个正整数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:
? + ? = ? 这个就复习一个知识点。。 关于输入的。 scanf 读到空格的时候 输入就会结束 gets()只有当读到换行的时候才会中止
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int get(char a[])
{
int sum=0,k=1;
for(int i=strlen(a)-1;i>=0;i--)
{
sum+=(a[i]-'0')*k;
k*=10;
}
return sum;
}
int check(char a[])
{
int len=strlen(a);
if(a[0]=='-') return 0;
if(len>4||len==0) return 0;
for(int i=0;i<len;i++)// 保证都是数字字符
{
if(a[i]<'0'||a[i]>'9') return 0;
}
int temp=get(a);
if(temp<1||temp>1000) return 0;
return 1;
}
int main()
{
char a[100],b[100];
scanf("%s ",a);
gets(b);
int flaga=check(a),flagb=check(b);
if(flaga&&flagb)
{
for(int i=0;i<strlen(a);i++) cout<<a[i];
printf(" + ");
for(int i=0;i<strlen(b);i++) cout<<b[i];
printf(" = ");
int sum=get(a)+get(b);
cout<<sum<<endl;
}
else
{
if(flaga==0) printf("?");
else
{
for(int i=0;i<strlen(a);i++) cout<<a[i];
}
printf(" + ");
if(flagb==0) printf("?");
else
{
for(int i=0;i<strlen(b);i++) cout<<b[i];
}
printf(" = ?\n");
}
return 0;
}
L1-025. 正整数A+B 简单复习一下,。的更多相关文章
- koa2入门--01.ES6简单复习、koa2安装以及例子
1.ES6简单复习 /*let 和 const: let用于定义一个块作用域的变量,const 定义一个常量 */ let a = 'test'; const b = 2; /*对象的属性和方法的简写 ...
- 简单复习一下ArrayList的扩容原理
刚刚跟几个好朋友喝完小酒回家,简单大概复习一下ArrayList的扩容原理,由于头有点小晕,就只大概说一下扩容的原理哈: 首先ArrayList实现了List接口,继承了AbstractList,大家 ...
- MYSQL、PHP基础、面向对象基础简单复习总结
一.MYSQL 1.配置MySql 第一步安装服务器(apache). 第二部安装MySql界面程序 2 ...
- pat L2--005 简单复习一下并差集
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位.无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席. 输入格式: ...
- JVM虚拟机知识问答总结(简单复习,快速回忆!)
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- CSS的简单复习总结
如果说网页是人的话那么CSS就是化妆品了哈哈哈,所以网页离不开CSS的装饰.id选择器和Class选择器 二者都是用来选择元素进行装饰的,我个人理解是类选择器包含了id选择器,class选择器不 ...
- [codeWars] - 8kyu的简单复习
https://www.codewars.com/kata/5aa736a455f906981800360d public class Kata { public static boolean fea ...
- 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)
SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...
- Linux简单复习
cd 命令:切换目录 ls命令:用于浏览目录下的文件或者文件夹 rm 命令:用于删除文件或者目录,用法 rm –rf test.txt (-r表示递归,-f表示强制) cp 命令:用于拷贝文件,用法, ...
随机推荐
- 常用css模板
段落超出显示省略号(可单行多行) .p-content{ overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-b ...
- Vue之混入(mixin)与全局混入
Vue之混入(mixin)与全局混入 接下来通过一个简单的例子看看混入的基础用法: 首先新建一个mixin.js文件,添加以下代码. let mixin = { data() { return { m ...
- Android Studio NDK编程-环境搭建及Hello!
一,下载 安装android-ndk开发包 NDK各个版本链接二,新建项目NDKDemo,选择空Activity就可以:(注:Android studio 2.2,可通过SDK Tools 添加LLD ...
- SCM是什么?
答: 全称为Software Configuration Management,即为软件配置管理
- Linux CentOS 7修改内核启动默认顺序
1.查看系统有几个内核 a.进入grub2.cfg文件中进行查看 b.通过grub界面查看 3.设置默认启动内核 grub2-set-default "内核版本" 配置默认内核4. ...
- React Native中Navigator的安装与使用
一.安装Navigator 1.安装react-native-deprecated-custom-components npm install react-native-deprecated-cust ...
- easyUI之slider滑动条框
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- Camera 采集图像的方法
使用 Camera 采集图像, 实现步骤如下: 需要权限: android.permission.CAMERA android.permission.WRITE_EXTERNAL_STORAGE // ...
- Python3+RobotFramewok 快速入门(二)
1. 原理 首先解释一下RF的工作原理,官方文档介绍就不赘述了,笔者就框架架构做出一个更加具体的描述 测试套及测试用例集(Test Data即需要用户编写的脚本)通过RF特定的语法解析,然后知道用户要 ...
- VBA 刷新数据透视表
Sub pjCount() Dim r As Long r = Sheets("Inquery").[A65536].End(xlUp).Row ActiveSheet.Pivot ...