2015 省赛 大还是小?
2015-09-01 14:59
399 查看
题意:输入两个实数,判断第一个数大,第二个数大还是一样大。每个数的格式为:[整数部分].[小数部分]
简单起见,整数部分和小数部分都保证非空,且整数部分不会有前导 0。不过,小数部分的最后可以有 0,因此 0.0 和 0.000 是一样大的。
就是简单模拟,但是一粗心就可能wrong,首先可以判断整数部分,先判断长度,然后长度一样就用strcmp比较,然后没比较出大小,再去掉小数部分后导0, 就在把小数部分放在一个数组中,然后用strcmp在比较。
简单起见,整数部分和小数部分都保证非空,且整数部分不会有前导 0。不过,小数部分的最后可以有 0,因此 0.0 和 0.000 是一样大的。
就是简单模拟,但是一粗心就可能wrong,首先可以判断整数部分,先判断长度,然后长度一样就用strcmp比较,然后没比较出大小,再去掉小数部分后导0, 就在把小数部分放在一个数组中,然后用strcmp在比较。
#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> #include<algorithm> using namespace std; char a[1100],b[1100]; char t1[1100],t2[1100]; char t3[1100],t4[1100]; int main() { int i,j,k,n,pos,m,lena,lenb,t; int fg=1; int l1,l2; while(scanf("%s%s",a,b)!=EOF) { lena=strlen(a); lenb=strlen(b); i=0; while(a[i]!='.') i++; j=0; while(b[j]!='.') j++; for(k=0,t=0;t<j;t++,k++) { t1[k]=a[t]; t2[k]=b[t]; } pos = j; t1[k]=t2[k]='\0'; // printf("%s %s\n",t1,t2); l1=i;l2=j; i=lena-1; while(a[i]=='0') i--,lena--; if(a[i]=='.') a[i+1]='0',a[i+2]='\0',lena++; // CARE i=lenb-1; while(b[i]=='0') i--,lenb--; if(b[i]=='.') b[i+1]='0',b[i+2]='\0',lenb++; for(k=0,j=pos+1;j<lena;k++,j++) { t3[k]=a[j]; } t3[k]='\0'; for(k=0,j=pos+1;j<lenb;k++,j++) { t4[k]=b[j]; } t4[k]='\0'; // printf("%s %s %s %s\n",t1,t2,t3,t4); if(l1>l2||(l1==l2&&strcmp(t1,t2)>0)) { printf("Case %d: Bigger\n",fg++); continue; } if((l1==l2&&strcmp(t1,t2)==0)&&strcmp(t3,t4)>0) { printf("Case %d: Bigger\n",fg++); continue; } if((l1==l2&&strcmp(t1,t2)==0)&&strcmp(t3,t4)==0) { printf("Case %d: Same\n",fg++); continue; } printf("Case %d: Smaller\n",fg++); } return 0; }
相关文章推荐
- CSS布局奇淫技巧之--各种居中
- 2015多校联合第一场5289Assignment RMQ+二分
- 8天玩转并行开发——第二天 Task的使用
- 【Leetcode】【Medium】Set Matrix Zeroes
- HIVE学习笔记 二 精简版
- Cmake使用教程
- PHPExcel类的导出
- Spring的注解形式:@Repository
- MFC之图片控件Picture Control
- 转:JMeter--使用代理录制Web性.能测试脚.本
- 交换分区设置
- Unity3D架构系列之- FSM有限状态机设计二
- 银行HR讲述实习生转正故事:寒门真的再难出贵子
- umask()函数 -- linux函数
- How to access body of Custom tags in JSP tutorial
- 协方差矩阵理解
- 面向对象三个基本元素,五个基本原则
- MFC之滚动条控件Scroll Bar
- STL - 移除(remove)和释放(erase)集合元素
- jquery常用函数与方法