uva 12930

来源:互联网 发布:vim c语言配置 编辑:程序博客网 时间:2024/06/08 14:46

题目大意:

题目的意思是给定两个数,比较大小,但是这是个很多位的数

题目解析:

这是一个简单的模拟题,非常的水,就是一个字符串模拟


代码:

#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;}



原创粉丝点击