#C++初学记录(A==B?##高精度)
Problem Description
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".
Input
each test case contains two numbers A and B.
Output
for each case, if A is equal to B, you should print "YES", or print "NO".
Sample Input
1 2
2 2
3 3
4 3
Sample Output
NO
YES
YES
NO
正确代码
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main(){
char a[100000],b[100000];
while(cin>>a>>b){
int Y_a=0,Y_b=0;
for(int i=0;i<strlen(a);i++)
if(a[i]=='.'){
Y_a=1;
break;
}
for(int i=0;i<strlen(b);i++)
if(b[i]=='.'){
Y_b=1;
break;
}
if(Y_a){
for(int i=strlen(a)-1;i>=0;i--){
if(a[i]=='0'){
a[i]=0;
}
else if(a[i]=='.'){
a[i]=0;
break;
}
else break;
}
}
// if(Y_a) {
// cout<<"!!!"<<a<<' '<<a[1]<<endl;
// } if(Y_b){
for(int i=strlen(b)-1;i>=0;i--)
if(b[i]=='0'){
b[i]=0;
}
else if(b[i]=='.'){
b[i]=0;
break;
}
else break;
strcmp(a,b)?puts("NO"):puts("YES");
}
}
题意理解
起初做这道题的时候以为这是一个签到题,直到wrong了五次发现这存在着潜在的问题,既是浮点型如0.111000和数据极大的问题没有解决,因此应该进行判断是否带有小数点并且去掉小数点后多余的0。
错误以及解决方法
当看到这个题的第一眼以为是一个很简单的签到题,所以进行了一下程序的编写

事实上这道题目并没有想象中的那么简单,还有浮点型和越界问题没有解决,当意识到这个问题之后整个题目就显得非常简单明了了,但是还是会犯一些小错误,比如以下代码

导致这个代码wrong的原因是因为没有初始化,往往这种小的错误最不容易令人察觉,使用全局变量的同时应该考虑的是在进行运行循环的时候上一次的赋值会不会导致下一次循环的错误结果。经过对flog的初始化后,成功AC了题目。

#C++初学记录(A==B?##高精度)的更多相关文章
- #C++初学记录(高精度运算)(加法)
高精度运算 不管是int还是double亦或者long long ,这些定义变量都有数据范围的一定限制,在计算位数超过十几位的数,也就是超过他们自身的数据范围时,不能采用现有类型进行计算,只能自己通过 ...
- #C++初学记录(sort函数)
sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...
- javaweb初学记录
原文 链接 http://blog.csdn.net/iojust/article/details/52429805 - ---热情依旧 - 环境搭建: - jdk环境配置 jdk下载: http:/ ...
- #C++初学记录(算法4)
A - Serval and Bus It is raining heavily. But this is the first day for Serval, who just became 3 ye ...
- #C++初学记录(动态规划(dynamic programming)例题1 钞票)
浅入动态规划 dynamic programming is a method for solving a complex problem by breaking it down into a coll ...
- Java 初学记录之可执行jar包
环境 jdk7 jre7 当我用jdk7开发的时候,编写完成可执行的jar工具,并且成功使用. 当我在另一台机器安装了jre6,再次运行我的小工具jar 的时候,报错 解决: http://stack ...
- Java 初学记录之一 快速输入
1. sysout 按回车 System.out.println();
- NOP初学记录
1. 介绍的话不多说了.直接先来简单的安装跟配置先以3.6版本为例: 附带官网地址: http://www.nopcommerce.com 自行下载. 中文网:http://www.nopchi ...
- Python初学记录
发音: 拍怂 语系:类C 特点: 1语句控制不用{}和(),而是强制用户空格或tab缩进.空格和tab数量不一定. 2解释性语言,不需要事先声明变量,即写即用. 3.list 列表可存放多种类型数据. ...
随机推荐
- 智慧图携手DataPipeline,让实体商业更智慧!
近日,国内领先的实体商业数字化运营服务商智慧图携手DataPipeline,基于专业的数据集成与应用基础展开了合作. 未来DataPipeline将通过不断提升自身产品和服务实力,与智慧图一道致力于帮 ...
- JavaPoet的基本使用
原文:https://blog.csdn.net/crazy1235/article/details/51876192 JavaPoet JavaPoet 是一个用来生成 .java源文件的Java ...
- [MySQL]重装数据库后无法启动服务
具体情况请查看下面网址 https://www.jianshu.com/p/8dda50ee812f 错误信息可以在CMD里输入mysqld --console查看
- python图片二值化提高识别率
import cv2from PIL import Imagefrom pytesseract import pytesseractfrom PIL import ImageEnhanceimport ...
- LinuxKernel优秀博客
1.vanbreaker的专栏 2.LinuxKernel Exploration 3.DroidPhone的专栏 4.Linux内核研究以及学习文档和ARM学习以及研究的开放文档 [力荐] 5. ...
- keepalived实现nginx反向代理的高可用
实现keepalived调用脚本进行资源监控 keepalived调用外部的辅助脚本进行资源监控,并根据监控的结果状态能实现优先动态调整 vrrp_script:自定义资源监控脚本,vrrp实例根据脚 ...
- java安全相关知识
基本概念 JVM:java虚拟机,Java编译程序将生成Java虚拟机上可运行的目标代码,使得Java程序可以再不同平台不加修改的运行.JVM包含完善的硬件架构,主要分为五大模块-类装载器子系统.运行 ...
- winform上传文件到服务器——资料整理
标题:使用简单的wcf文件实现上传,下载文件到服务器 地址:https://blog.csdn.net/duanzi_peng/article/details/19037777
- k8s安装之prometheus.yaml
这个系列的东东满多的.要另开系列说明. 这里为了内容连续完成,先贴一个吧,其它configmap,exporter就不展示. 为了保持统一,将prometheus也放到二级目录了. - '--web. ...
- 《你说对就队》第八次团队作业:Alpha冲刺 第二天
<你说对就队>第八次团队作业:Alpha冲刺 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 <你说对就队> 作业学习 ...