zoukankan      html  css  js  c++  java
  • 比大小

    问题B:比大小

    时间限制: 3 Sec  内存限制: 128 MB
    提交: 6  解决: 6
    [提交][状态][讨论版]

    题目描述

    给你两个很大的数,你能不能判断出他们两个数的大小呢?

    比如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



    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char a[1000],b[1000];
        while(scanf("%s%s",a,b)!=EOF)
        {
            int lena,lenb;
            int i,j;
            lena=strlen(a);
            lenb=strlen(b);
            if((lena==1&&a[0]=='0')&&(lenb==1&&b[0]=='0'))
                return 0;              //while(scanf("%s%s",a,b)!=EOF&&a[0]!='0'&&b[0]!='0')
            if(a[0]!='-'&&b[0]!='-')      //两个数同为正
            {
                if(lena>lenb)
                    printf("a>b
    ");
                else if(lena<lenb)
                    printf("a<b
    ");
                else 
                {
                    for(i=0;i<lena;i++)
                    {
                        if(a[i]>b[i])
                        {
                            printf("a>b
    ");
                            break;
                        }
                        else if(a[i]<b[i])
                        {
                            printf("a<b
    ");
                            break;
                        }
                        else {                  //注意判断等号
                        if(i==lena-1)
                            printf("a==b
    ");   //if语句的位置
                        }
                    }
                }
            }
            else if(a[0]=='-'&&b[0]!='-')   //两个数正负不同
                printf("a<b
    ");
            else if(a[0]!='-'&&b[0]=='-')
                printf("a>b
    ");
            else                            //两个数同为负
            {                                
                if(lena>lenb)
                    printf("a<b
    ");
                else if(lena<lenb)
                    printf("a>b
    ");
                else 
                {
                    for(i=0;i<lena;i++)
                    {
                        if(a[i]>b[i])
                        {
                            printf("a<b
    ");
                            break;
                        }
                        else if(a[i]<b[i])
                        {
                            printf("a>b
    ");
                            break;
                        }
                        else continue;
                        if(i==lena-1)
                            printf("a=b
    ");
                    }
                }
            }
        }
        return 0;
    }
     
  • 相关阅读:
    JAVA入门到精通-第42讲-坦克大战9
    JAVA入门到精通-第40讲-线程
    JAVA入门到精通-第37讲-事件总结-坦克大战5
    大数据 资源
    在线工具
    idea 添加 阿里代码规范
    idea 控制台中文乱码 解决方法
    idea 构建maven web项目
    oracle SQL 练习
    Oracle分页
  • 原文地址:https://www.cnblogs.com/great-xxr/p/5780927.html
Copyright © 2011-2022 走看看