zoukankan      html  css  js  c++  java
  • NYOJ 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<iostream>
     2 using namespace std;
     3 #include<string.h>
     4 char a[1011],b[1011];
     5 int main()
     6 {
     7     int i;
     8     while(cin>>a>>b,a[0]!='0'||b[0]!='0')
     9     {
    10         if(a[0]=='-'||b[0]=='-')
    11         {
    12             if(a[0]=='-'&&b[0]!='-')
    13             {
    14                 cout<<"a<b"<<endl;
    15                 continue;
    16             }
    17             else if(a[0]!='-'&&b[0]=='-')
    18             {
    19                 cout<<"a>b"<<endl;
    20                 continue;
    21             }
    22             else
    23             {
    24                 if((int)strlen(a)>(int)strlen(b))
    25                 {
    26                     cout<<"a<b"<<endl;
    27                     continue;
    28                 }
    29                 else if((int)strlen(a)<(int)strlen(b))
    30                 {
    31                     cout<<"a>b"<<endl;
    32                     continue;
    33                 }
    34                 else
    35                 {
    36                     for(i=1;i<(int)strlen(a);i++)
    37                     {
    38                         if(a[i]>b[i])
    39                         {
    40                             cout<<"a<b
    ";
    41                             break;
    42                         }
    43                         else if(a[i]<b[i])
    44                         {
    45                             cout<<"a>b
    ";
    46                             break;
    47                         }
    48                     }
    49                     if(i>=(int)strlen(a))
    50                         cout<<"a==b
    ";
    51                 }
    52             }
    53         }
    54         else
    55         {
    56             if((int)strlen(a)>(int)strlen(b))
    57             {
    58                 cout<<"a>b"<<endl;
    59                 continue;
    60             }
    61             else if((int)strlen(a)<(int)strlen(b))
    62             {
    63                 cout<<"a<b"<<endl;
    64                 continue;
    65             }
    66             else
    67             {
    68                 for(i=0;i<(int)strlen(a);i++)
    69                 {
    70                     if(a[i]>b[i])
    71                     {
    72                         cout<<"a>b
    ";
    73                         break;
    74                     }
    75                     else if(a[i]<b[i])
    76                         {
    77                             cout<<"a<b
    ";
    78                             break;
    79                         }
    80                 }
    81                 if(i>=(int)strlen(a))
    82                     cout<<"a==b
    ";
    83             }
    84 
    85         }
    86     }
    87     return 0;
    88 }
     1  
     2 #include<iostream>
     3 #include<string>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     string a,b;    
     9     while(cin>>a>>b)
    10     {
    11         if(a=="0"&&b=="0")
    12             return 0;
    13         if(a==b)
    14             cout<<"a==b"<<endl;
    15         else if(a[0]=='-'&&b[0]=='-')
    16             {
    17                 if(a.substr(1,string::npos)>b.substr(1,string::npos)||a.length()>b.length())
    18                     cout<<"a<b"<<endl;
    19                 else cout<<"a>b"<<endl;
    20             }
    21         else if(a>"0"&&b>"0"||a<"0"&&b<"0"&&a.length()>b.length()||a>b)
    22                 cout<<"a>b"<<endl;
    23         else if(a<"0"&&b>"0"&&a.length()>b.length()||a>b)
    24                 cout<<"a<b"<<endl;
    25             
    26     }
    27 }        
  • 相关阅读:
    《Java架构师的第一性原理》24Java基础之并发第5篇Java并发编程的艺术
    《Java架构师的第一性原理》71场景题之搜索引擎ElasticSearch
    70道HR常问面试题,找工作避坑必看
    《Java架构师的第一性原理》10计算机基础之计算机组成原理
    《Java架构师的第一性原理》00计算机的第一性原理
    photoshop--历史记录画笔工具-- 所画之处恢复原图像
    photoshop--去色--彩色图像变成灰度图像
    photoshop--历史记录
    qt5-循环遍历语句foreach
    qt5串口通信
  • 原文地址:https://www.cnblogs.com/ljwTiey/p/4307675.html
Copyright © 2011-2022 走看看