给你两个很大的数,你能不能判断出他们两个数的大小呢?
比如123456789123456789要大于-123456
标签:
给你两个很大的数,你能不能判断出他们两个数的大小呢?
比如123456789123456789要大于-123456
如果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 }
标签:
原文地址:http://www.cnblogs.com/tong69/p/5777147.html