问题 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; }