• 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
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char a[1001];
    	char b[1001];
    	while(scanf("%s %s",a,b)!=EOF)
    	{
    		if(a[0]=='0'&&b[0]=='0')
    			break;
    		int d=0;
    		if(a[0]=='-'&&b[0]!='-')
    			printf("a<b\n");
    		else if(a[0]!='-'&&b[0]=='-')
    			printf("a>b\n");
    		else
    		{
    			int x=strlen(a);
    			int  y=strlen(b);
    			if(x>y)
    			{
    				if(a[0]!='-'&&b[0]!='-')
    					printf("a>b\n");
    				if(a[0]=='-'&&b[0]=='-')
    					printf("a<b\n");
    			}
    			if(x<y)
    			{
    				if(a[0]!='-'&&b[0]!='-')
    					printf("a<b\n");
    				if(a[0]=='-'&&b[0]=='-')
    					printf("a>b\n");
    			}
    			
    			if(x==y)
    			{
    				d=strcmp(a,b);
    				if(d==0)
    					printf("a==b\n");
    				else if(a[0]!='-'&&b[0]!='-')
    				{
    				
    					if(d>0)
    						printf("a>b\n");
    					if(d<0)
    						printf("a<b\n");
    				}
    				else if(a[0]=='-'&&b[0]=='-')
    				{
    					if(d>0)
    						printf("a<b\n");
    					else
    						printf("a>b\n");
    				}
    			}
    		}
    	}
    	return 0;
    }
     
    
  • 相关阅读:
    外部排序
    oceanbase tpcc 关键总结
    TPCC测试
    最简单的oracle 19c安装教程
    unix进程环境
    tars以docker方式安装
    异常安全的赋值运算符函数
    linux 定时器setitimer使用
    libevent学习-reactor设计模式及代码示例
    linux中可执行程序搜索动态链接库的顺序
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2559305.html
Copyright © 2020-2023  润新知