hpuoj 问题 A: 做不出来踢协会!!!

问题 A: 做不出来踢协会!!!

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

题目描述

这是今天最水的一道题,如果没写出来的,呵呵,踢协会。

给你两个整数a和b。输出较大的数,若两个数相等输出任一个都可以。这么水啊。。。

输入

输入有多组测试数据。每组数据有a和b两个整数。

小提示:数据保证不会有前导0。

输出


输出最后结果。

样例输入

0 0

样例输出

0
题意:显然是一个大数问题
题解:注意考虑负数的情况
#include<stdio.h>
#include<string.h>
char a[1100000],b[1100000];
int n,m;
int len1,len2;
int main()
{
	int i,j,ok;
	while(scanf("%s%s",a,b)!=EOF)
	{
		len1=strlen(a);
		len2=strlen(b);
		if(a[0]=='-'&&b[0]!='-')
		{
			printf("%s
",b);
			continue;
		}
		else if(a[0]!='-'&&b[0]=='-')
		{
			printf("%s
",a);
			continue;
		}
		else if(a[0]=='-'&&b[0]=='-')
		{
			if(len1>len2)
			printf("%s",b);
			else if(len1<len2)
			printf("%s",a);
			else
			{
				ok=1;
				for(i=0;i<len1;i++)
				{
					if(a[i]==b[i])
					continue;
					else if(a[i]>b[i])
					{
						ok=0;
						printf("%s",b);
						break;
					}
					else if(a[i]<b[i])
					{
						ok=0;
						printf("%s",a);
						break;
					}
				}
				if(ok)
				printf("%s",a);
			}
			printf("
");
		}
		else
		{
			if(len1>len2)
			printf("%s",a);
			else if(len1<len2)
			printf("%s",b);
			else
			{
				ok=1;
				for(i=0;i<len1;i++)
				{
					if(a[i]==b[i])
					continue;
					else if(a[i]>b[i])
					{
						ok=0;
						printf("%s",a);
						break;
					}
					else if(a[i]<b[i])
					{
						ok=0;
						printf("%s",b);
						break;
					}
				}
				if(ok)
				printf("%s",a);
			}
			printf("
");
	    }
	}
	return 0;
}

  

原文地址:https://www.cnblogs.com/tonghao/p/4732561.html