PAT L1-025 正整数A+B (15 分)

昨天参加了今年的天梯赛,这个是在天梯赛之前练的题,天梯赛类似的字符串处理的题出了一些,可以说是非常热爱字符串了...

这个题还是非常简单,用简单的字符串知识就可以,主要是将数字的合成起来,并且通过小数点等符号设置flag判断

在这里还顺便吐槽下天梯赛那个AI的题,说的感觉有些不太清楚,也可能是我太菜了..那个could you can you转I can I could,还有I me转you 我有些没理解,最后做了一万年得了两分也是很伤心...

题目链接

#include <iostream>
#include <cstring>

using namespace std;

int main(void)
{
	char s[100005];
	cin.getline(s,100005);
	int len = strlen(s);
	int t1=0;
	int t2 = 0;
	
	
	int flag = 1;
	int flagt1 = 1;
	int flagt2 = 1;
	for(int i=0;i<len;i++)
	{
		if(s[i]==' ')
		{
			flag = 0;
			continue;	
		}		
		if(flag==1)
		{
			if(s[i]>='0'&&s[i]<='9')
			{
				t1 = t1*10 + s[i]-'0';
			}
			else
			{
				flagt1 = 0;
			}
		}
		else if(flag==0)
		{
			if(s[i]>='0'&&s[i]<='9')
				{
					t2 = t2*10 + s[i]-'0';
				}
				else
				{
					flagt2 = 0;
				}	
		}
	}
	if(!(t1>=1&&t1<=1000))
	{
		flagt1 = 0;
	}
	if(!(t2>=1&&t2<=1000))
	{
		flagt2 = 0;
	}
	
	
			if(flagt1==1&&flagt2==1)
		{
			printf("%d + %d = %d\n",t1,t2,t1+t2);
		}
		else if(flagt1==1&&flagt2==0)
		{
			printf("%d + ? = ?\n",t1);
		}
		else if(flagt1==0&&flagt2==1)
		{
			printf("? + %d = ?\n",t2);
		}
		else if(flagt1==0&&flagt2==0)
		{
			printf("? + ? = ?\n");
		}
	
	
		
 } 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值