pat 1060. Are They Equal (25)
题目意思直接,要求将两个数转为科学计数法表示,然后比较是否相同 不过有精度要求
/*
test 6
3 0.00 00.00
test 3
3 0.1 0.001
0.001=0.1*10^-2
pay
前导0
不同格式的0
*/ #include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
char a[105],b[105];
struct num
{
char s[105];
int k;
}x,y;
struct num getn(char a[],int n)
{
int na=strlen(a),i,j=na,k=na,t,flag=0;
struct num x;
memset(x.s,'0',n*sizeof(char));
x.s[n]='\0';
for(i=0;i<na;i++)
{
if(a[i]>'0'&&a[i]<='9'&&!flag)
{
j=i;
flag=1;
}
if(a[i]=='.')k=i;
}
// printf("%d %d\n",j,k);
if(j==na)
{
x.k=0;
}
else
{
t=0;
for(i=j;i<na&&t<n;i++)
if(i!=k)x.s[t++]=a[i];
if(k>j)x.k=k-j;
else
x.k=k-j+1;
}
//printf("%s %d\n",x.s,x.k);
return x; }
void deal(char a[],char b[],int n)
{
x=getn(a,n);
y=getn(b,n);
if(!strcmp(x.s,y.s)&&x.k==y.k)printf("YES 0.%s*10^%d\n",x.s,x.k);
else
printf("NO 0.%s*10^%d 0.%s*10^%d\n",x.s,x.k,y.s,y.k);
}
int main()
{ int na,nb,i,n,t,flag;
while(scanf("%d%s%s",&n,a,b)!=EOF)
{
deal(a,b,n);
}
return 0;
}
pat 1060. Are They Equal (25)的更多相关文章
- 【PAT】1060 Are They Equal (25)(25 分)
1060 Are They Equal (25)(25 分) If a machine can save only 3 significant digits, the float numbers 12 ...
- PAT 甲级 1060 Are They Equal (25 分)(科学计数法,接连做了2天,考虑要全面,坑点多,真麻烦)
1060 Are They Equal (25 分) If a machine can save only 3 significant digits, the float numbers 1230 ...
- 1060 Are They Equal (25 分)
1060 Are They Equal (25 分) If a machine can save only 3 significant digits, the float numbers 1230 ...
- 1060 Are They Equal (25分)
1060 Are They Equal (25分) 题目 思路 定义结构体 struct fraction{ string f; int index; } 把输入的两个数先都转换为科学计数法,统一标准 ...
- PAT 1060 Are They Equal[难][科学记数法]
1060 Are They Equal(25 分) If a machine can save only 3 significant digits, the float numbers 12300 a ...
- PAT 1060 爱丁顿数(25)(STL-multiset+思路)
1060 爱丁顿数(25 分) 英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀自己的骑车功力,还定义了一个"爱丁顿数" E ,即满足有 E 天骑车超过 E 英里的最大整数 E.据说爱 ...
- 【PAT甲级】1060 Are They Equal (25 分)(需注意细节的模拟)
题意: 输入一个正整数N(<=100),接着输入两个浮点数(可能包含前导零,对于PAT已经习惯以string输入了,这点未知),在保留N位有效数字的同时判断两个数是否相等,并以科学计数法输出. ...
- PAT (Advanced Level) 1060. Are They Equal (25)
模拟题.坑点较多. #include<iostream> #include<cstring> #include<cmath> #include<algorit ...
- PAT甲题题解-1060. Are They Equal (25)-字符串处理(科学计数法)
又是一道字符串处理的题目... 题意:给出两个浮点数,询问它们保留n位小数的科学计数法(0.xxx*10^x)是否相等.根据是和否输出相应答案. 思路:先分别将两个浮点数转换成相应的科学计数法的格式1 ...
随机推荐
- 【HOJ2430】【贪心+树状数组】 Counting the algorithms
As most of the ACMers, wy's next target is algorithms, too. wy is clever, so he can learn most of th ...
- Spring MVC 获取前端参数的注解
在与前端交互的开发过程中,出现过几次无法取到参数的情况,费了些时间去排查问题,下面就简单总结一下. 注解详解 我们所要获取的前端传递参数大概可以分为以下四类: requet uri 部分的注解:@Pa ...
- 解决Collection was modified; enumeration operation may not execute异常
今天在使用foreach循环遍历list集合时,出现Collection was modified; enumeration operation may not execute.这个错误,查了半天才发 ...
- Bootstrap_表单_按钮
一.多标签支持 一般制作按钮除了使用<button>标签元素之外,还可以使用<input type="submit">和<a>标签等. 同样,在 ...
- impress.js学习总结
impress.js是一个很有趣的用来替代PPT的展示用的js工具,它的灵感来自prezi 如果你要学习使用它,这里有很好的演示模板 使用它的第一步,下载 impress.js,引入到你的代码里,并执 ...
- YII 验证邮箱和QQ号码
//验证邮箱非空,和邮箱格式 //验证邮箱非空,和邮箱格式 array("email","e ...
- Asp.Net使用异步性能就提升吗
Asp.Net异步编程 随着.Net4.5的推出,一种新的编程方式简化了异步编程,在网上时不时的也看到各种打着Asp.Net异步编程的口号,如何提高性能,如何提高吞吐率! 好多文章都说得不清楚,甚 ...
- 使用 Scut 搭建通服架构
整体通服的架构图如下: 整体思路: 尽量将公共的业务逻辑分拆到单个业务服务器: 公共业务RDB读写分离,提高IO并发量: 角色简要信息.角色战斗信息修改后将ID压入修改队列,简要信息每3分钟通知同步一 ...
- 2. SharePoint Online 开发,请联系qq512800530。加好备注。(不要发站内信。。。)
///(不要发站内信...) <meta name="keywords" content="SharePoint Online, SP Online, SPO, S ...
- 【Linux】基础配置-修改命令提示符的风格
1,效果图: [groot]$ 2,设置步骤: 编辑~/.bashrc文件,在最后增加设置行: #显示当面目录的最后一层目录#PS1='\[\e[32m\][\u@\h \W]$\[\e[m\]'#只 ...