nyoj 73 比大小 【字符串】
来源:互联网 发布:软件下载snapseed 编辑:程序博客网 时间:2024/06/07 09:06
比大小
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
给你两个很大的数,你能不能判断出他们两个数的大小呢?
比如123456789123456789要大于-123456
- 输入
- 每组测试数据占一行,输入两个不超过1000位的10进制整数a,b
数据保证输入的a,b没有前缀的0。
如果输入0 0表示输入结束。测试数据组数不超过10组 - 输出
- 如果a>b则输出“a>b”,如果a<b则输出“a<b”,如果相等则输出“a==b”。
- 样例输入
111111111111111111111111111 88888888888888888888-1111111111111111111111111 222222220 0
- 样例输出
a>ba<b
- 上传者
- 张云聪
思路:
输入的两个数,首先得考虑是否是负数,如果有一个数正一个数是负,那就直接正的大于负数,如果两个都是正数,那么就要比较长度,长度大的就大,如果成都也相等,那么就用strcmp函数来比较大小!负数和正数一样,就是将正数的结果反过来就OK了!
代码:
#include <stdio.h>#include <string.h>char a[1005];char b[1005];int main(){while(scanf("%s%s",a,b)!=EOF){if(a[0]=='0'||b[0]=='0')break;if(a[0]=='-'&&b[0]!='-'){printf("a<b\n");continue;}if(a[0]!='-'&&b[0]=='-'){printf("a>b\n");}int len1=strlen(a);int len2=strlen(b);if(a[0]!='-'&&b[0]!='-'){if(len1>len2){printf("a>b\n");continue;}else if(len1<len2){printf("a<b\n");continue;}else{ int k=strcmp(a,b); if(k>0) { printf("a>b\n"); continue; } else if(k==0) { printf("a==b\n"); continue; } else { printf("a<b\n"); continue; }} } if(a[0]=='-'&&b[0]=='-') { if(len1>len2) {printf("a<b\n");continue; } else if(len1<len2) {printf("a>b\n");continue; } else { int k=strcmp(a,b); if(k>0) { printf("a<b\n"); continue; } else if(k==0) { printf("a==b\n"); continue; } else { printf("a>b\n"); continue; } } }}return 0;}
0 0
- nyoj 73 比大小 【字符串】
- NYOJ 73 比大小【字符串比较】
- nyoj 73 比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- NYOJ 比大小 73
- nyoj 73 比大小
- nyoj-73-比大小
- nyoj-73-比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- NYOJ 73 比大小
- nyoj 73 比大小
- nyoj-73-比大小
- NYOJ 73 比大小
- nyoj 73 比大小
- 无线基本概述(二)
- mysql 自定义函数
- 水果市场里面水果如何保鲜
- 解决hessian com.caucho.hessian.io.hessianprotocolexception 异常
- 好久不上CSDN上。现在写个文章纪念下。
- nyoj 73 比大小 【字符串】
- Swift Tutorial(swift 教程) 4:Your First App
- Linux学习记录(8)Linux基本权限设置
- 动态规划之数钱
- swfUpload 上传插件使用
- 无线基本概述(三)
- 问题:指针做函数参数
- 字符串相似度(编辑距离)
- Android基础入门教程——2.4.1 Adapter基础讲解