zoukankan      html  css  js  c++  java
  • 大数比较

    题目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
    ");
    14       
    15        
    16        else if(a1[0]!='-'&&a2[0]=='-')
    17 
    18         printf("a>b
    "); 
    19     else if(a1[0]!='-'&&a2[0]!='-')
    20        {
    21         if(len1>len2) 
    22          printf("a>b
    ");
    23       else if(len1<len2)
    24           printf("a<b
    ");
    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
    ");  break;}
    33                 if((a1[i]-'0')<(a2[i]-'0')){                
    34                 printf("a<b
    ");   break;} 
    35                  if(i==len1-1){
    36                    printf("a==b
    ");
    37                      break;}
    38                      
    39                  }}}
    40        else if(a1[0]=='-'&&a2[0]=='-')
    41                 
    42             {
    43        if(len1>len2) 
    44          printf("a<b
    ");
    45       else if(len1<len2)
    46         printf("a>b
    ");
    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
    ");  break;}
    55                 if((a1[i]-'0')<(a2[i]-'0')){                
    56                 printf("a>b
    ");   break;} 
    57                  if(i==len1-1){
    58                    printf("a==b
    ");
    59                      break;}
    60                      
    61                  }}}
    62             }
    63        return 0;
    64  }
  • 相关阅读:
    第十二章 基本数据类型
    第十一章 变量名的力量
    第十章 使用变量的一般事项
    第九章 伪代码编程过程
    第八章 防御式编程
    JMeter简介
    第七章 高质量的子程序
    第六章 可以工作的类
    第五章 软件构建中的设计
    第四章 关键的“构建”决策
  • 原文地址:https://www.cnblogs.com/acmgym/p/3692494.html
Copyright © 2011-2022 走看看