问题 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\n",b);
continue;
}
else if(a[0]!='-'&&b[0]=='-')
{
printf("%s\n",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("\n");
}
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("\n");
}
}
return 0;
}