版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/windywo/article/details/47746941
时间限制: 1 Sec
内存限制: 128 MB
提交: 298
解决: 37
[提交][状态][讨论版]
题目描述
这是今天最水的一道题,如果没写出来的,呵呵,踢协会。
给你两个整数a和b。输出较大的数,若两个数相等输出任一个都可以。这么水啊。。。
输入
输入有多组测试数据。每组数据有a和b两个整数。
小提示:数据保证不会有前导0。
输出
输出最后结果。
样例输入
0 0
样例输出
0
这道题要考虑大数,还要考虑有负数的情况,第一次看到这道题就直接让他们比了,欠考虑。。。
我的代码
#include<cstdio>
#include<cstring>
#define maxx 100000
int main()
{
char a[maxx],b[maxx],c[maxx];
int len1,len2,i,j;
while(~scanf("%s",&a))
{
int flag=0;
getchar();
scanf("%s",&b);
len1=strlen(a);
len2=strlen(b);
memset(c,0,sizeof(c));
if(a[0]=='-'&&b[0]!='-')
printf("%s",b);
else if(a[0]!='-'&&b[0]=='-')
printf("%s",a);
else if(a[0]=='-'&&b[0]=='-')
{
if(len1>len2)
printf("%s",b);
else if(len2>len1)
printf("%s",a);
else if(len1==len2)
{
for(i=0;i<len1;i++)
{
if(a[i]>b[i])
{
for(j=0;j<len1;j++)
c[j]=b[j];
break;
}
else if(a[i]<b[i])
{
for(j=0;j<len2;j++)
c[j]=a[j];
break;
}
else if(a[i]==b[i])
flag++;
}
if(flag==len1)
for(i=0;i<len1;i++)
printf("%c",a[i]);
else
for(i=0;i<len1;i++)
printf("%c",c[i]);
}
}
else if(a[0]!='-'&&b[0]!='-')
{
if(len1>len2)
for(i=0;i<len1;i++)
printf("%c",a[i]);
else if(len2>len1)
for(i=0;i<len2;i++)
printf("%c",b[i]);
else if(len1==len2)
{
for(i=0;i<len1;i++)
{
if(a[i]>b[i])
{
for(j=0;j<len1;j++)
c[j]=a[j];
break;
}
else if(a[i]<b[i])
{
for(j=0;j<len2;j++)
c[j]=b[j];
break;
}
else if(a[i]==b[i])
flag++;
}
if(flag==len1)
for(i=0;i<len1;i++)
printf("%c",a[i]);
else
for(i=0;i<len1;i++)
printf("%c",c[i]);
}
}
printf("\n");
}
return 0;
}
大神的,看完真心觉得神奇,用strcmp函数竟然这么方便
#include<cstdio>
#include<cstring>
#define maxx 1000
int main()
{
char a[maxx],b[maxx];
int len1,len2;
while(~scanf("%s",&a))
{
getchar();
scanf("%s",&b);
len1=strlen(a);
len2=strlen(b);
if(a[0]=='-'&&b[0]!='-')
printf("%s\n",b);
else if(a[0]!='-'&&b[0]=='-')
printf("%s\n",a);
else if(a[0]=='-'&&b[0]=='-')
{
if(len1==len2)
printf("%s\n",strcmp(a,b)>0?b:a);//写成相反的,注意
else
printf("%s\n",len1>len2?b:a);
}
else if(a[0]!='-'&&b[0]!='-')
{
if(len1==len2)
printf("%s\n",strcmp(a,b)>0?a:b);
else
printf("%s\n",len1>len2?a:b);
}
}
return 0;
}