L1-025 正整数A+B (15分)
题目详情:
AC代码:
#include<iostream>
using namespace std;
int main()
{
string s1,s2;
int len1,len2,n1=0,n2=0;
cin>>s1;
cin.ignore();//必须加
getline(cin,s2);
len1=s1.size();
len2=s2.size();
if((s1!="1000"&&len1>3)||s1=="0")
s1="?";
else
{
for(int i=0; i<len1; i++)
{
if(s1[i]<'0'||s1[i]>'9')
{
s1="?";
break;//如果输入有误就直接跳出,不必再判断后面的字符
}
else
n1=n1*10+(s1[i]-'0');
}
}
if((s2!="1000"&&len2>3)||s2=="0")
s2="?";
else
{
for(int i=0; i<len2; i++)
{
if(s2[i]<'0'||s2[i]>'9')
{
s2="?";
break;
}
else
n2=n2*10+(s2[i]-'0');
}
}
if(s1!="?"&&s2!="?")
cout<<n1<<" + "<<n2<<" = "<<n1+n2<<endl;
else
cout<<s1<<" + "<<s2<<" = ?"<<endl;
return 0;
}
永远相信美好🎈