【字符串】【模拟】小X的加法难题

L i n k Link Link

SSL 2474

D e s c r i p t i o n Description Description 【字符串】【模拟】小X的加法难题_第1张图片

T r a i n Train Train o f of of T h o u g h t Thought Thought

直接模拟就OK了,注意,读入时要么用字符,要么用 g e t l i n e ( c i n , s ) getline(cin,s) getline(cin,s)来读入字符串

C o d e Code Code

#include
#include
#include
#include
using namespace std;
int ans,tt,t,a[1001],c[1001];
string s; bool b;
int main()
{
	int sum=0,sum2=0;
	getline(cin,s);//遇到空格不停
	int len=s.length();
	for (int j=0; j<len; ++j)
	{
		if (s[j]=='+') {b=true; continue;}
		if (s[j]>='0' && s[j]<='9' && !b) {
			a[++tt]=s[j]-48;
			if (tt>8 && sum!=0) {printf("Large"); return 0;} //超过8位的相加肯定会超
			 else sum=sum*10+a[tt];
		} 
		 else if (s[j]>='0' && s[j]<='9') {
		 	c[++t]=s[j]-48;
			if (t>8 && sum2!=0) {printf("Large"); return 0;}//同上
			 else sum2=sum2*10+c[t];
		}
	}
	ans=sum+sum2;
	if (ans<=1e8) printf("%d",ans);
	 else printf("Large");
	return 0; 
}

你可能感兴趣的:(模拟)