题目大意:
题目的意思是给定两个数,比较大小,但是这是个很多位的数
题目解析:
这是一个简单的模拟题,非常的水,就是一个字符串模拟
代码:
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
string s11,s22;
int Judge(string s,string s1)
{
if(s.length()>s1.length()) return 1;
else if(s.length()<s1.length()) return 2;
else{
for(int i=0;i<(int)s.length();i++){
if(s[i]>s1[i]) return 1;
if(s[i]<s1[i]) return 2;
}
}
return 0;
}
int text(string s,string s1)
{
int len=max(s.length(),s1.length());
for(int i=0;i<len;i++){
if((int)s.length()<=i) s+='0';
if((int)s1.length()<=i) s1+='0';
}
for(int i=0;i<len;i++){
if(s[i]>s1[i]) return 1;
else if(s[i]<s1[i]) return 2;
}
return 0;
}
void change(string& f,string & b,string s)
{
int flag=1;
for(int i=0;i<s.length();i++){
if(s[i]=='.'){
flag=0;
i++;
}
if(flag)
f+=s[i];
else
b+=s[i];
}
}
int main()
{
int cnt=0;
//freopen("in.txt","r",stdin);
//freopen("print.txt","w",stdprint);
while(cin>>s11>>s22)
{
string f="",b="",f1="",b1="",print="";
change(f,b,s11);change(f1,b1,s22);
if(f==f1&&b==b1) print=="Same";
else{
int ans=Judge(f,f1);
if(ans==1) print="Bigger";
else if(ans==2) print="Smaller";
else{
int ans1=text(b,b1);
if(ans1==1) print="Bigger";
else if(ans1==2) print="Smaller";
else print="Same";
}
}
cout<<"Case "<<++cnt<<": "<<print<<endl;
}
return 0;
}