【PAT】B1009. 说反话(C++接受带有空格的字符串)

PAT B1009 error: ‘gets’ was not declared in this scope gets(s)之解决办法 1009 说反话 (20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: ... 阅读详情

【PAT】B1009. 说反话(C++接受带有空格的字符串)

@(PAT)

链接:https://www.patest.cn/contests/pat-b-practise/1009

很简单的一道题,用string和vector能够轻松AC,有一个小小的trick:原输入最后是没有空格的,为了处理最后一个单词,所以人工在输入后面加入一个空格。为什么要记录下来呢,因为自己对C++接受带有空格字符串的方法不太熟悉,这里顺便复习复习。

AC code:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main() {
    string s;
    getline(cin, s);
    int size= s.length();
    vector<string> words;
    string temp= "";
    for (int i= 0; i< size; i++) {
        if (s[i]== ' ') {
            words.push_back(temp);
            temp= "";
        } else {
            temp+= s[i];
        }
    }
    for (int i= words.size()- 1; i>= 0; i--) {
        if (i== 0) {
            cout<< words[i];
        } else {
            cout<< words[i]<< " ";
        }
    }
}

那么C++中,输入带有空格的字符串有哪些方法呢,参考Blog:
http://blog.youkuaiyun.com/achangett/article/details/70276655
下面是C++中主要用到的输入方法:

1. cin

空格和回车作为结束符,只能接受空格前的字符。

2. gets(char* )

接受的是char*类型,回车作为结束符,能够接受空格。

int main() {
    char s[100];
    gets(s);
    cout<< s;
}

3. getline(cin, string)

接受的是string类型,结合string会很方便,上题就是用这个解的,回车作为结束符,能够接受空格。

int main() {
    string s;
    getline(cin,s);
    cout<< s;
}

4. cin.get(or getline)(char*, int(length), char(end))

接受的是char*类型和接受的长度,可选输入为结束标识,默认空格为结束符。能够接受空格,并且可以指定结束符号。

int main() {
    char s[55];
    // cin.get(s, 50, 'a');
    cin.getline(s, 50, 'a');
    cout<< s;
}

上面代码指定结束符号为’a’。
输入:tttttt m ff s fa
输出:tttttt m ff s f

总结

需要输入包含空格的string的话,用string最好用getline,很好用。用char*的话一般用gets,cin.get和cin.getline可以指定结束符号,必须要输入长度。

c程序--说反话 输入一行字符串,可以加入空格,输出为相反 立即下载

相关推荐

从平衡车到寻迹小车:IMU963RA九轴陀螺仪实战避坑与四元数融合指南

本文详细解析了IMU963RA九轴陀螺仪在机器人姿态控制中的应用,重点探讨了从六轴升级到九轴系统的技术路径及四元数融合算法。通过实战案例,揭示了如何利用地磁计补偿陀螺积分漂移,并提供硬件集成、传感器校准及算法实现的完整解决方案,有效将8小时漂移控制在2度以内。

weixin_27219587的博客 254

1009 说反话 (C++)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 样例:">输入样例: Hello World Here I Come 输出样例: Come I Here World Hello 思路:

weixin_61958146的博客 3763

绝缘体上硅(SOI) vs 传统硅片:5个关键性能对比及适用场景分析

本文深入对比了绝缘体上硅(SOI)与传统硅片在功耗、速度、隔离性等5个关键性能维度的差异,并分析了各自适用场景。SOI技术凭借其独特的埋氧层结构,在低功耗、高频应用和极端环境下展现出显著优势,特别适合移动设备、汽车电子和航天应用。

weixin_30335575的博客 555

1009 说反话 ——C++实现

题目 1009 说反话 (20 point(s)) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后...

吉大秦少游 1792

STM32F030F4P6实战:LL库+DMA驱动WS2812全流程(附避坑指南)

本文详细介绍了如何使用STM32F030F4P6的LL库和DMA驱动WS2812 LED灯带的全流程,包括硬件选型、CubeMX配置、LL库与DMA关键实现、数据格式转换及调试技巧。特别提供了避坑指南,帮助开发者避免常见错误,提升开发效率。

weixin_29194693的博客 484

基于FPGA的7x7矩阵求逆verilog开发

up目录一、理论基础二、核心程序三、测试结果 矩阵求逆,即求矩阵的逆矩阵。矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷。逆矩阵又是矩阵理论的很重要的内容,逆矩阵的求法自然也就成为线性代数研究的主要内容之一。设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。其中,E为单位矩阵。典型的矩阵求逆方法有:利用定义求逆矩阵、初等变换法、伴随阵法、恒等变形法等。 逆矩阵的求法有多种,其中重要

FPGA/MATLAB学习教程/源码/项目合作开发 3898

PAT Basic 1010 一元多项式求导 (25 分)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello World...

weixin_30595035的博客 183

手把手入门YOLO到改进优化教程 | 【P2基础篇】数据标注+环境搭建+模型训练

本节以 YOLO自定义目标检测训练为主线,带你从零开始完成 数据标注 → 环境搭建 → 模型训练 → 结果的流程。使用labelImg制作符合YOLO格式的自定义数据集。在Windows基于 Python + Conda 创建独立虚拟环境,安装 PyTorch + CUDA + ultralytics,配置 PyCharm 运行环境。本节不仅使用自定义数据集进行演示,同时也用公开数据集训练 YOLO,查看训练日志与可视化结果(PR、P/R/F1 曲线等)等。

嵌入式阿齐Archie 2万+

【C++】1009 说反话

getline和stringstream的应用(虽然简单,但是很基础,要记住)

一只不想做程序员的程序猿的日常摸鱼分享 246

Stable Diffusion 模型分享:Beautiful Realistic Asians(美丽真实的亚洲人)

Beautiful Realistic Asians(BRA)模型是由作者自己训练而成的一个独立模型,它是一个真实模型,并且是一个针对亚洲人训练的模型,可以生成非常漂亮的亚洲小姐姐。条目内容类型大模型基础模型SD 1.5来源CIVITAI作者文件名称文件大小1.99GB。

水滴的博客 2157

【StarRocks】-- DATETIME 与 TIMESTAMP 区别详解

本文详细解析了StarRocks中DATETIME/DATETIMEV2与TIMESTAMP的区别及使用场景。DATETIME系列存储人类可读时间,不携带时区;TIMESTAMP实际指Unix时间戳,建议用BIGINT存储。关键差异包括:精度选择(DATETIMEV2支持微秒级)、时区处理(仅函数计算时影响)、存储方式等。针对不同场景提供选型建议:单时区展示用DATETIMEV2,跨时区计算用BIGINT存储Epoch。特别强调与MySQL迁移时的注意事项,并给出常见问题解决方案和最佳实践清单,包括统一入口

欢迎来到我的博客,一起探索代码里的世界! 501

PAT乙级1009说反话

题目描述: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello World Here...

sun9979的博客 153

Open3D——直通滤波(python详细过程版)【2025最新版】

python就一个字:强。博客长期更新,本文最近更新时间为:2025年1月11日。

点云侠的博客 7519

[PAT B1009]说反话

[PAT B1009]说反话 题目描述 1009 说反话 (20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式 每个测试用例的输出占一行,输出倒序后...

欢迎来到我的编程小屋 551

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

PAT 1009 说反话

PAT 1009 说反话 题目: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello...

金鱼的博客 237

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

PAT乙级.1009. 说反话 (20)

1009. 说反话 (20) 题目: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例:

R11happy的博客 693

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

多种解法 ——【PAT B1009】 说反话 (20分)

模拟题介绍 入门模拟题 分为简单模拟,查找元素,图形输出,日期处理,进制转换 字符串处理等等! 何为模拟题? 模拟题是一类“题目怎么说,你就怎么做的”的一类题目。此类题目不涉及算法,完全根据题目描述进行代码的编写,主要考察代码能力!!! 模拟题 ———— 字符串处理 【PAT B1009】 说反话 (20分) 字符串处理问题很能体现代码能力的一种题型,一般实现逻辑会非常麻烦,而且可能会有很多的细节和边界情况,因此对代码能力弱的会有较大难度, 但这也是进阶大神的必经之路。唯一的方法:多做多想,积累经验

重燃2020!!! 296

[PAT B1009] 说反话 (c++)

#include<stdio.h> #include<string.h> int main() { char a[80]; char b[80][80]; int i,j=0,k=0; int n=strlen(a); gets(a); for(i=0;i<n;i++) //输入的一行字符串放到二维数组中 { if(a[i]!=' ') { ...

qq_44909497的博客 256

PAT_B1009 | 说反话

1009 说反话 (20point(s)) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 ...

weixin_43787043的博客 303

PAT 乙级 1009(说反话)

PAT 乙级 1009题目要求代码思路 题目要求 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样...

qq_42865772的博客 136

PAT B1009 说反话

前言 传送门 正文 思路 两种方法,推荐能够自行写出split函数的模板 1)find函数 函数原型:size_t find(const string& str, size_t pos = 0) const; 功能说明:从pos位置开始查找子字符串str第一次出现的位置 参数说明:str为要查找的子字符串,pos从为初始查找位置 返回值:找到的话返回子字符串第一次出现的位置,否则返回string::npos 2)substr函数 函数原型:string substr(size_t

逝不等琴生的博客 597

PAT B1009 说反话(EOF、gets())

1009说反话(20分) 题目描述: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后...

jiangjiangjiang6的博客 237

PAT B1009 说反话 简洁算法

题目:1009 说反话 (20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hel...

m0_46287156的博客 1005

1009 说反话 (20分)【附加思路】

1009 说反话 (20分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello World Here I Come 输出样例: Come I Here World Hello 思路: 后进先

weixin_44094072的博客 249

PAT B1009说反话

题目要求: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。 输出格式: 每个测试用例的输出占一行,输出倒序后的句子。 输入样例: Hello World Here...

weixin_43370733的博客 285
上一篇: 【Leetcode】448. Find All Numbers Disappeared in an Array
下一篇: 【PAT】B1012. 数字分类(C++精确到小数点、题目理解)
timsooo
博客等级 码龄11年 16粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值