uva 12930 Bigger or Smaller

来源:互联网 发布:打印机的端口名是什么 编辑:程序博客网 时间:2024/06/15 22:10

解法:字符串题,c++里的sting类!

#include<bits/stdc++.h>using namespace std;int main(){    string str,st;    int v=0;    while(cin>>str>>st)    {        string str1,str2,str3,str4;        int op=str.find(".");        int op1=st.find(".");        for(int i=0;i<op;i++)            str1+=str[i];        for(int i=op+1;i<str.size();i++)            str2+=str[i];        for(int i=0;i<op1;i++)            str3+=st[i];        for(int i=op1+1;i<st.size();i++)            str4+=st[i];        if(str2.size()>str4.size())        {            int len=str2.size()-str4.size();            for(int i=0;i<len;i++)                str4+='0';        }        else if(str2.size()<str4.size())        {            int len=str4.size()-str2.size();            for(int i=0;i<len;i++)                str2+='0';        }        if(str[0]=='-'&&st[0]!='-')            printf("Case %d: Smaller\n",++v);        else if(str[0]!='-'&&st[0]=='-')            printf("Case %d: Bigger\n",++v);        else if(str[0]=='-'&&st[0]=='-')        {            str1.erase(0,1);            str2.erase(0,1);            str3.erase(0,1);            str4.erase(0,1);            if(str1==str3&&str2==str4)                printf("Case %d: Same\n",++v);            else if(str1<str3||str1==str3&&str2<str4)                printf("Case %d: Bigger\n",++v);            else if(str1>str3||str1==str3&&str2>str4)                printf("Case %d: Smaller\n",++v);        }        else if(str[0]!='-'&&st[0]!='-')        {            if(str1==str3&&str2==str4)                printf("Case %d: Same\n",++v);            else if(str1<str3||str1==str3&&str2<str4)                printf("Case %d: Smaller\n",++v);            else if(str1>str3||str1==str3&&str2>str4)                printf("Case %d: Bigger\n",++v);        }    }    return 0;}


 

0 0
原创粉丝点击