• 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 s1[1010];
    	char s2[1010];
    	int n,m,j,i,l1,l2;
    	while(scanf("%s%s",s1,s2)!=EOF)
    	{
    		if((s1[0]=='0')&&(l1==1)&&s2[0]=='0'&&(l2==1))   //遇到0就结束 
    		break;
    		l1=strlen(s1);
    		l2=strlen(s2);
    		if(s1[0]=='-'&&(s2[0]>='1')&&(s2[0]<='9'))      //一正一负正的大 
    		printf("a<b
    ");
    		else if(s2[0]=='-'&&(s1[0]>='1')&&(s1[0]<='9'))
    		printf("a>b
    ");
    		else if(s1[0]=='-'&&s2[0]=='-')          //同负情况 
    		{
    			if(l1>l2)
    			printf("a<b
    ");
    			else if(l1<l2)
    			printf("a>b
    ");
    			else
    			{
    				if(strcmp(s1,s2)<0)
    				printf("a>b
    ");
    				else if(strcmp(s1,s2)==0)
    				printf("a==b
    ");
    				else
    				printf("a<b
    ");
    			}
    		}
    		else if((s1[0]>='1')&&(s1[0]<='9')&&(s2[0]>='1')&&(s2[0]<='9'))    //同正情况 
    		{
    			if(l1>l2)
    			printf("a>b
    ");
    			else if(l1<l2)
    			printf("a<b
    ");
    			else
    			{
    				if(strcmp(s1,s2)<0)
    				printf("a<b
    ");
    				else if(strcmp(s1,s2)==0)
    				printf("a==b
    ");
    				else
    				printf("a>b
    ");
    			}
    		} 
    	}
    	return 0;
    } 
    

      

  • 相关阅读:
    Dubbo 节点telnet测试
    node.js 文件下载
    node.js获取ip及mac
    excel中根据A列筛选B列填充C列
    django在读取数据库时未筛选到符合条件的记录会报错
    django分页功能
    django中命令行调试程序
    Python中if-else的多种写法
    python自定义函数的参数之四种表现形式
    python类变量和实例变量的区别
  • 原文地址:https://www.cnblogs.com/tonghao/p/4354322.html
Copyright © 2020-2023  润新知