ACM-比大小

描述

给你两个很大的数,你能不能判断出他们两个数的大小呢?

比如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  22222222
0 0
样例输出
a>b
a<b

代码:

01.#include <stdio.h>

02.#include <string.h>

03.char
a[10010], b[10010];

04.int
compare(char
a[],
char b[])

05.{

06.int
len_a,len_b,tmp;

07.if(a[0] !=
‘-‘)

08.{

09.if(b[0] ==
‘-‘)

10.return
1;

11.else

12.{

13.len_a =
strlen(a);

14.len_b =
strlen(b);

15.if(len_a > len_b)
return 1;

16.if(len_a < len_b)
return 2;

17.if(len_a == len_b)

18.{

19.for(tmp = 0; tmp < len_a; tmp++)

20.{

21.if(a[tmp] == b[tmp])
continue;

22.if(a[tmp] > b[tmp])
return 1;

23.else
return 2;

24.}

25.return
0;

26.}

27.}

28.}

29.else

30.{

31.if(b[0] !=
‘-‘)

32.return
2;

33.else

34.{

35.len_a =
strlen(a);

36.len_b =
strlen(b);

37.if(len_a < len_b)
return 1;

38.if(len_a > len_b)
return 2;

39.if(len_a == len_b)

40.{

41.for(tmp = 0; tmp < len_a; tmp++)

42.{

43.if(a[tmp] == b[tmp])
continue;

44.if(a[tmp] < b[tmp])
return 1;

45.else
return 2;

46.}

47.return
0;

48.}

49.}

50.}

51.}

52.int
main()

53.{

54.

55.while(scanf("%s%s",
a, b)!=EOF)

56.{

57.if(a[0] ==
‘0‘ && b[0] == ‘0‘)

58.break;

59.switch(compare(a, b))

60.{

61.case
1:

62.printf("a>b\n");

63.break;

64.case
2:

65.printf("a<b\n");

66.break;

67.case
0:

68.printf("a==b\n");

69.break;

70.}

71.}

72.return
0;

73.}

时间: 2024-10-12 20:49:44

ACM-比大小的相关文章

《ACM/ICPC 算法训练教程》读书笔记一之数据结构(堆)

书籍简评:<ACM/ICPC 算法训练教程>这本书是余立功主编的,代码来自南京理工大学ACM集训队代码库,所以小编看过之后发现确实很实用,适合集训的时候刷题啊~~,当时是听了集训队final的意见买的,感觉还是不错滴. 相对于其他ACM书籍来说,当然如书名所言,这是一本算法训练书,有着大量的算法实战题目和代码,尽管小编还是发现了些许错误= =,有部分注释的语序习惯也有点不太合我的胃口.实战题目较多是比较水的题,但也正因此才能帮助不少新手入门,个人认为还是一本不错的算法书,当然自学还是需要下不少

ACM比赛经验

ACM比赛经验: 推荐此篇文章打印,与模板放在一起. 1. 比赛中评测会有些慢,偶尔还会碰到隔10分钟以上才返回结果的情况,这段时间不能等结果,必须开工其他题,如果WA,两道题同时做.交完每道题都要先打印. 2. 比赛时发的饭不是让你当时就吃的,那是给你赛后吃的.基本上比赛中前几名的队都没人吃,除非领先很多. 3. 很多选手,尤其是第一次参加比赛的,到一个新环境,全当旅游了,参观的参观,找同学的找同学,玩玩乐乐就把正事抛到脑后了,结果比赛自然没什么好成绩,这样的例子太多了.所以到参赛地后要时刻不

[ACM] hdu 1242 Rescue (BFS+优先队列)

Rescue Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison. Angel's friends want to save Angel. Their task is:

ACM 刷题小技巧【转】

转载自URl-team ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好不要用cin.cout,防止超时. 2.有时候int型不够用,可以用long long或__int64型(两个下划线__). 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数.

ACM学期总结

从大一就开始对这个东西感兴趣,当时其实并不知道ACM是什么,当时学习想法也很简单,就是想用来提高自己的编程能力. 接触ACM已经有了一学期的时间,说时候ACM真的很难学,从一开始的激情满满,到后来的索然无趣.ACM是十分花费时间的东西,平均下来我几乎每道题的的时间差不多就有两个小时,虽然会很打击人信心,但是在某些方面自己的能力确实提高了不少,无论自己在考虑问题,分析问题上,还是对于语言的认识上,考虑的比之前更加全面,分析的比之前更加透彻,ACM便是运用已有的算法,解决更加接近于现实的问题.刷题只

ACM数论中相关定理(不断更新)

费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p).即:假如a是整数,p是质数,且a,p互质,那么a的(p-1)次方除以p的余数恒等于1. 费马大定理,又被称为“费马最后的定理”,由法国数学家费马提出.它断言当整数n >2时,关于x, y, z的方程 x^n + y^n = z^n 没有正整数解.被提出后,经历多人猜想辩证,历经三百多年的历史,最终在1995年被英国数学家安德鲁·怀尔斯证明. 中国剩余定理的结论: 令任意固定整数

[ACM] hdu 1253 胜利大逃亡 (三维BFS)

胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0,0)的位置,离开城堡的门在(A-1,B-1,C-1)的位置,现在知道魔王将在T分钟后回到城堡,Ignatius每分钟能从一个坐标走到相邻的六个坐标中的其中一个.现在给你城堡的地图,请你计算出Ignatius能否在魔王回来前离开城堡(只要走到出

ycb的ACM进阶之路 二进制多重背包

ycb的ACM进阶之路 发布时间: 2017年5月22日 14:30   最后更新: 2017年5月22日 14:31   时间限制: 1000ms   内存限制: 128M 描述 ycb是个天资聪颖的孩子,他的梦想是成为世界上最伟大的ACMer.为此,他想拜附近最有威望的dalao为师.dalao为了判断他的资质,给他出了一个难题.dalao把他带到一个到处都是题的oj里对他说:“孩子,这个oj里有一些不同的题,做每一道题都需要一些时间,每一题也有它自身的rp(人品值).我会给你一段时间,在这

ACM:统计难题 解题报告-字典树(Trie树)

统计难题 Time Limit:2000MS     Memory Limit:65535KB     64bit IO Format:%I64d & %I64u Submit Status Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignati

ACM学习历程—HDU 5534 Partial Tree(动态规划)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题目大意是给了n个结点,让后让构成一个树,假设每个节点的度为r1, r2, ...rn,求f(x1)+f(x2)+...+f(xn)的最大值. 首先由于是树,所以有n-1条边,然后每条边连接两个节点,所以总的度数应该为2(n-1). 此外每个结点至少应该有一个度. 所以r1+r2+...rn = 2n-2.ri >= 1; 首先想到让ri >= 1这个条件消失: 令xi = ri,则x1+x