解法:字符串题,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; }