nyoj73 比大小

比大小

时间限制: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
View Code
 
#include<stdio.h>
#include<string.h>
#define maxn 1000+10
char stra[maxn],strb[maxn];
int main()
{
    int i,n,lena,lenb,ok;
    while(1)
    {
        scanf("%s",stra);
        scanf("%s",strb);
        lena=strlen(stra);
        lenb=strlen(strb);
        //printf("lena=%d,lenb=%d",lena,lenb);//
        if(lena==1&&lenb==1&&stra[0]=='0'&&strb[0]=='0')
            break;
        if(stra[0]=='-'&&strb[0]!='-')
            printf("a<b\n");
        if(stra[0]!='-'&&strb[0]=='-')
            printf("a>b\n");
        if(stra[0]!='-'&&strb[0]!='-')
        {
            if(lena<lenb)
            {printf("a<b\n");}
            else if(lena>lenb)
            {printf("a>b\n");}
            else
            {
                ok=0;
                for(i=0;i<lena;i++)
                {
                    if(stra[i]>strb[i])
                    {printf("a>b\n");break;}

                    else if(stra[i]<strb[i])
                    {printf("a<b\n");break;}
                    ok++;
                    
                }
                if(ok==lena)
                    printf("a==b\n");
            }
        }
        if(stra[0]=='-'&&strb[0]=='-')
        {
            if(lena<lenb)
            printf("a>b\n"); 
            else if(lena>lenb)
            printf("a<b\n"); 
            else
            {
                ok=1;
                for(i=1;i<lena;i++)
                {
                
                    if(stra[i]>strb[i])
                    {printf("a<b\n");break;}

                    else if(stra[i]<strb[i])
                    {printf("a>b\n");break;}
                    
                    ok++;
                }
                if(ok==lena)
                        printf("a==b\n");
            }
        }
    }
    return 0;
}


            

    



        

 

posted @ 2012-07-21 02:10  赵杰迪!  阅读(145)  评论(0编辑  收藏  举报