PTA| L1-025 正整数A+B (有坑点)

8 正整数A+B (15分) 8 正整数A+B (15分)题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是 阅读详情

还是补寒假作业ing......

本来以为A+B很简单的 没想到错了n多次

上题目

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

题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。

输入格式:

输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。

注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。

输出格式:

如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?,显然此时和也是?。

输入样例1:

123 456

输出样例1:

123 + 456 = 579

输入样例2:

22. 18

输出样例2:

? + 18 = ?

输入样例3:

-100 blabla bla...33

输出样例3:

? + ? = ?

最初的思路就是

先用scanf读入空格前的一串字符串

再用scanf读入空格后的剩余字符串

计算字符串长度

判断所有字符都是 0 ~ 9之内的数

同时字符串形成的数字范围在【1,1000】之间

但是这样的话 若是空格后的字符中仍存在字符 则缺少读入

例如: 123 3 4

输出结果应该是 123 + ?= ?

(后一串字符不符合要求)

思考了一波之后 (借鉴网上的答案)

决定用 gets 读入

但是! 还是不行 

(不知道大佬们是怎么用gets过的)

 

 所以 又学(bai)习(du)了一波

看到一个很有用的东东

如下图

 

 so 把scanf输入改动一下 

这样就过了

放代码

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
using namespace std;
int main()
{
    char a[1000],b[1000];
    int sum1=0,sum2=0;
    bool flag1 =true,flag2=true;
    int len1,len2;
    scanf("%s",a);
    len1 = strlen(a);
    for (int i=0;i<len1;i++)
    {
        if (a[i]>'9'||a[i]<'0')
            flag1=false;
    }
    if (flag1)
    {
        sum1=a[0]-'0';
        for (int i=1;i<len1;i++)
            sum1=sum1*10+(a[i]-'0');
    }
     getchar();
    scanf("%[^\n]",b);
    len2 = strlen(b);
    for (int i=0;i<len2;i++)
    {
        if (b[i]>'9'||b[i]<'0')
            flag2=false;
    }
    if (flag2)
    {
        sum2 = b[0]-'0';
        for (int i=1;i<len2;i++)
            sum2 = sum2*10+(b[i]-'0');
    }
//    printf("%d %d ",len1,len2);
    if (flag1&&sum1>=1&&sum1<=1000)
        printf("%d + ",sum1);
    else printf("? + ");
    if (flag2&& sum2>=1&&sum2<=1000)
        printf("%d = ",sum2);
    else printf("? = ");
    if (flag1&&sum1>=1&&sum1<=1000 && flag2&& sum2>=1&&sum2<=1000)
        printf("%d",sum1+sum2);
    else printf("?");
    return 0;
}

不定时更新~

【PTA】L1-025 正整数A+B (C++) 主要功能是检查用户输入的两个字符串是否都是合法的四位数以内的整数,并相应地执行加法运算或打印出带问号的表达式。(1)范围在0~1000,一种判断条件是输入字符串的长度不得超过4,另一种判断的条件是sum不能超过1000。(2)判断每个字符是否在0~9之内,如果有一个不在都不满足要求,如果都满足条件则将字符串转化为数字。不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。稍微有点麻烦的是,输入并不保证是两个正整数。3.进行不同条件的判断来输出不同情况下的结果。 阅读详情

相关推荐

PTA 天梯赛 L1-025 正整数A+B (15分) (python)

PTA 天梯赛 L1-025 正整数A+B (15分) (python) **L1-025 正整数A+B (15分)** 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数 输入格式: 输入在一行给出A和B,其间以空格分开。问题...

Zero_1Byourself的博客 1925

L1-025 正整数A+B (15 分)+测试点3和测试点4(初学者版)

题解: 要十分注意题目要求的是[1,1000]的正整数 根据我的实验,测试点4是: 0050 0010 这组数也是符合题目条件的。 因为我使用的是字符指针,利用循环判断各位数,所以0050这种形式的数很影响判断。但好在最后还是成功了。 根据我的实验,测试点3是: 1000 2000 注意:中间是两个空格!!! 下面是AC代码,只用了字符指针和for循环,很啰嗦,因为我不会那些isdigit()这样的函数QAQ。希望大家多多包涵 #include<iostream>

qq_62257987的博客 1455

手把手教你用DCT/DCG实现Multi-bit FF物理优化(含SPG流程避坑指南)

本文详细解析了Multi-bit FF(MBFF)在芯片物理实现中的优化方法,重点介绍了DCT/DCG与SPG流程的实战应用。通过物理感知综合、寄存器组识别和增量优化三阶段流程,实现PPA(Power-Performance-Area)的协同提升。文章还提供了Innovus与ICC工具的协同优化策略及典型问题排查指南,帮助工程师高效完成MBFF物理优化。

ik67890123的博客 241

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

7-1-2 输入输出 plus 正整数A+B (300分) 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。 输出格式: 如果输入的确是两个正整数,则按格式A + B = 和

WR的博客 367

阻容降压 vs 开关电源:5V小功率供电方案成本与安全深度对比

本文深度对比了阻容降压电路与开关电源在5V小功率供电方案中的核心差异。重点剖析了二者在成本、体积、效率、温升及安全隔离等方面的优劣,并结合智能温控器、LED驱动等典型应用场景,为硬件工程师提供了清晰的选型决策框架,帮助在成本与安全之间做出最佳权衡。

weixin_29310631的博客 702

Ruoyi-Cloud-Plus新手必看:Gateway启动失败的两种解决方案(Nacos配置空间问题)

本文详细解析了Ruoyi-Cloud-Plus框架中Gateway启动失败的常见原因及解决方案,重点围绕Nacos配置空间问题展开。针对新手开发者,提供了两种实用方案:快速切换到public空间或规范创建dev空间并迁移配置,帮助开发者高效解决网关启动故障,确保微服务项目顺利运行。

weixin_30872499的博客 490

团体程序设计天梯赛L1-025 正整数A+B (15分)(易错点和测试点分析)

题的目标很简单,就是求两个正整数A和B的和,**其中A和B都在区间[1,1000]。**稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。 输出格式: 如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?,显然

xxxibgdrgn博客 2554

Python与CAD系列基础篇(十)图形复制、移动、删除

①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。进行图形复制、移动、删除的方法。pyautocad方式。pyautocad方式。

weixin_43894929的博客 2210

L1-025 正整数A+B 浅谈测试点(易错点)

分数 15全屏浏览题目切换布局作者 陈越单位 浙江大学题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。

qq_39456436的博客 1099

第一章 电力电子仿真软件 PLECS简介

PLECS是瑞士Plexim公司开发的电力电子仿真软件,具有快速仿真、丰富元件库和热分析功能。软件提供单机版和嵌入MATLAB的版本,支持多平台安装且流程简单。首次运行需获取授权文件,提供60分钟演示模式。界面包含模型创建、帮助文档和元件库浏览器等功能区域,操作便捷。该软件是专业高效的电力电子系统仿真工具。

496

vue3+ts+elementui-plus二次封装树形表格实现不同层级展开收起的功能

我只定义了三层数据,就只演示展开了三层,还可以多层,自己设置即可。

蜗牛~~ 2602

PTA L1-025 正整数A+B(详解)

前言:本期是关于正整数A+B的详解,内容包括四大模块:题目,代码实现,大致思路,代码解读,今天你c了吗?

weixin_73142957的博客 1万+

OSPF规划两大模型:双塔奇兵、犬牙交错

大家好,今天给大家带来的是OSPF规划两大模型:双塔奇兵、犬牙交错,让我们直接开始吧! OSPF规划之双塔奇兵 说明: OSPF 如果某个区域存在两个 ABR,并且在两个 ABR 上都对 area n 内的路由做了聚合操作。 最佳配置: 两台ABR之间的红线应该使用以太网的子接口技术,一个子接口属于area0,另一个属于 area n;或者该链路规划为 area n,同时配置虚连接; ABR 的 loopback0 规划入 area 0 OSPF 规划之犬牙交错 说明: 有时接入层的设备会以乱序的

网络技术联盟站 2423

C语言题解:PTA-L1-025 正整数A+B

PTA-L1-025 正整数A+B (15分) 题解 题目:PTA-L1-025 正整数A+B (15分) 看题要注意的几点: 1.A和B都在区间【1,1000】内(所以字符串长度超过4,绝对不合要求) 2.A,B之间以第一个空格隔开 (A字符串中不会出现空格,B字符串中可能出现空格) 3.A,B字符串中不能出现除0~9以外的任意字符 4.A,B字符串的第一个字符不可以是负号(-)和零(...

a23_23的博客 1378

国密GmSSL v2版本命令行方式生成国密sm2私钥、公钥、签名和验证签名

GmSSL是国密算法的工具库(主要包含SM2、SM3、SM4和国密SSL证书生成等功能),项目本身是OpenSSL的分支,但是截至文章发布为止,OpenSSL主分支的国密算法并不完善,目前并不支持签名和解签,所以国密算法这块还是需要使用GmSSL工具库。网上现在并没有v2版本的GmSSL可用的命令行文章,本章用于记录这些命令。本文原创自csdn博客,其他网站看到这篇文章都是盗,版,爬。虫。网站,支持原创,远离盗版。

eguid音视频方向博客,分享经过实践检验的硬核音视频技术。FFmpeg、openCV和JavaCV音视频和图像处理系列教程发布十周年,众多开发者的严格验证。欢迎关注,一起交流探索学习最新音视频和图像处理技术 4604

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pta L1-025 正整数A+B 题解以及getline() isdigit() stoi() 函数的使用

L1-025 正整数A+B题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?

weixin_73886306的博客 1288

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

如花美眷,似水流年,回得了过去,回不了当初。 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至...

0k-ok 1182

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PTA L1-025 正整数A+B

题目 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。 输出格...

名字呢? 595

PTA团体程序设计天梯赛-练习集L1-025 正整数A+B

L1-025 正整数A+B 题目要求 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,...

Slatter的博客 1214

PTA L1系列题解(C语言)(L1_025 -- L1_032)

L1-025 正整数A+B L1-026 I Love GPLT L1-027 出租 L1-028 判断素数 L1-029 是不是太胖了 L1-030 一帮一 L1-031 到底是不是太胖了 L1-032 Left-pad

黑不拉几的小白兔和你一起努力 1547

PTA L1-025 正整数A+B C++实现

正整数 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。 输出...

weixin_43646424的博客 2274

PTA团队程序设计天梯赛-练习集L1-25正整数A+B

题目链接: PTA L1 -025 题意不再叙述,但这题有许多特殊情况! 特殊情况如下: A,B可能是超范围的数字 A,B可能是负数 A,B可能是小数 A,B可能是乱码 A可能是空串!!!(题上只说了B不为空串!)(测试点3) 最后一个点很坑!藏的很深! AC代码: #include <iostream> #include <cstdio> #include <...

A's World 554

PTA团队天梯赛║L1-025 正整数A+B

PTA团队天梯赛║L1-025 正整数A+B 一、题目要求 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。 输出格式: 如果输入的确是两个正整数,则按格式A + B = 和

m0_46492118的博客 733

PTA L1-025 正整数A+B解法

PTA L1-025 正整数A+B解法。

comcal的博客 381

PTA L1-025正整数A+B

PTA L1-025正整数A+B 对于第3个点,我们要如何处理呢?我们首先要选择好的方法,此题一般解法是定义两个字符串来处理,如果是这样,那么处理第3个难点会变得困难而且复杂,所以好的方法很重要。与其判定两个串,倒不如一次性判定一个串,而且题目已经给出两个串的界线——第一个碰到的空格,既然如此,何不利用一发?C++语言提供了可以接受字符串的语句getline,用它接受一个串,寻找第一个碰到的空格,...

Time Limit Exceeded on test 99 714
上一篇: HDU 6216 (2017icpc青岛网络赛)
下一篇: PTA| L1-046 整除光棍 (JAVA代码)
OneLine_
博客等级 码龄9年 48粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值