大数比较

题目73
    大数比较
  时间限制: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  22222222
0 0
样例输出
a>b
a<b
*/

 1 #include<stdio.h>
 2 #include<string.h> 
 3  int main(){
 4      char a1[100],a2[100];
 5  while(scanf("%s%s",a1,a2)&&(a1[0]!='0'||a2[0]!='0')){
 6      
 7    
 8        int b1[100],b2[100],i,len1,len2;
 9      len1=strlen(a1);
10      len2=strlen(a2);
11      if(a1[0]=='-'&&a2[0]!='-')
12      
13          printf("a<b\n");
14       
15        
16        else if(a1[0]!='-'&&a2[0]=='-')
17 
18         printf("a>b\n"); 
19     else if(a1[0]!='-'&&a2[0]!='-')
20        {
21         if(len1>len2) 
22          printf("a>b\n");
23       else if(len1<len2)
24           printf("a<b\n");
25       else if(len1==len2)
26         {
27            
28            for(i=0;i<len1;i++)
29             {  
30        
31                  if( (a1[i]-'0')>(a2[i]-'0')){                 
32                 printf("a>b\n");  break;}
33                 if((a1[i]-'0')<(a2[i]-'0')){                
34                 printf("a<b\n");   break;} 
35                  if(i==len1-1){
36                    printf("a==b\n");
37                      break;}
38                      
39                  }}}
40        else if(a1[0]=='-'&&a2[0]=='-')
41                 
42             {
43        if(len1>len2) 
44          printf("a<b\n");
45       else if(len1<len2)
46         printf("a>b\n");
47       else if(len1==len2)
48        {
49            
50            for(i=0;i<len1;i++)
51             {  
52        
53                  if( (a1[i]-'0')>(a2[i]-'0')){                 
54                 printf("a<b\n");  break;}
55                 if((a1[i]-'0')<(a2[i]-'0')){                
56                 printf("a>b\n");   break;} 
57                  if(i==len1-1){
58                    printf("a==b\n");
59                      break;}
60                      
61                  }}}
62             }
63        return 0;
64  }

 

posted @ 2014-04-26 21:23  小郭子~  阅读(431)  评论(0编辑  收藏  举报