题目描述
给你两个很大的数,你能不能判断出他们两个数的大小呢?
比如123456789123456789要大于-123456
输入
每组测试数据占一行,输入两个不超过1000位的10进制整数a,b
数据保证输入的a,b没有前缀的0。
如果输入0 0表示输入结束。测试数据组数不超过10组
数据保证输入的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
1 #include<stdio.h> 2 #include<string.h> 3 4 int main( ) { 5 char a[1001], b[1001]; 6 while(scanf("%s%s", a, b) != EOF) { 7 if(a[0] == '0' && b[0] == '0') 8 break; 9 if(a[0] == '-' && b[0] != '-') 10 printf("a<b\n"); 11 else if(a[0] != '-' && b[0] == '-') 12 printf("a>b\n"); 13 else { 14 int x = strlen(a); 15 int y = strlen(b); 16 if(x>y) { 17 if(a[0] != '-' && b[0] != '-') 18 printf("a>b\n"); 19 if(a[0] == '-' && b[0] == '-') 20 printf("a<b\n"); 21 } 22 if(x=y) { 23 int d = 0; 24 d = strcmp(a, b); 25 if(d = 0) 26 printf("a==b\n"); 27 else if(a[0] != '-' && b[0] != '-') { 28 if(d > 0) 29 printf("a>b\n"); 30 if(d < 0) 31 printf("a<b\n"); 32 } 33 else if(a[0] == '-' && b[0] == '-') { 34 if(d > 0) 35 printf("a<b\n"); 36 if(d < 0) 37 printf("a>b\n"); 38 } 39 } 40 } 41 } 42 return 0; 43 }