getline(cin,str)与cin.getline(str)的区别 ,hd1062单词逆转

getline(cin,str)与cin.getline(str)的区别 ,hd1062单词逆转

首先补充一个知识点
getline(cin,str)与cin.getline(str)的区别
cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度。

getline(cin,str)函数是处理string类的函数。第二个参数为string类型的变量。

在用getline(cin,str)时需注意,再输入str后需要两个回车才会输出结果,其原因是vc++6.0版本过低,解决办法可以百度,当然也可以换其他编译器,例如:vs!

#include<iostream>
#include<string>
using namespace std;
int main()
{
	char ch[20];
	string str;
 
	cin.getline(ch,20);
	getline(cin,str);
 
	cout<<ch<<endl;
	cout<<str<<endl;
}

问题描述
伊格纳修斯喜欢以相反的方式写词。 给定由Ignatius编写的单行文本,您应该反转所有单词然后输出它们。

输入
输入包含几个测试用例。 输入的第一行是单个整数T,它是测试用例的数量。 T测试案例如下。
每个测试用例包含一行包含多个单词。 一行中最多可包含1000个字符。

产量
对于每个测试用例,您应输出已处理的文本。

样本输入

3
olleh !dlrow
m’I morf .udh
I ekil .mca

样本输出

hello world!
I’m from hdu.
I like acm。

#include<iostream>
#include<string>
using namespace std;
int main()
{
	int T;
	while (cin>>T)
	{
		getchar();//注意数字到字符之间要吃个空格

		for (int i = 0; i < T; i++)
		{
			string str;
			getline(cin, str);
			int end = 0,top = 0;
		while (str[end] != '\0')
		{
		if (str[end]==' ')
		{
			for (int i = end-1; i >=top; i--)
			{
				cout << str[i];
			}

		cout << str[end];
		top = end + 1;
		}
			end++;
		}
		if (str[end]=='\0')
		{
			for (int i = end-1; i >=top-1; i--)
			{
			cout << str[i];
			}
		}
			cout << endl;
		}
		}
	}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114911.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql批量清空表数据脚本「建议收藏」

    mysql批量清空表数据脚本「建议收藏」今天手中拿到个之前的db,我要做测试,但是里面表结构比较多,确认数据已经没有用了,但是表结构不知道有没有用;所以想着把里面的数据给清空了;奈何数据太多,schema都有2k多了,这一个个敲命令得搞死写了个脚本做记录,以后用到就拿过来复用;#!/bin/bashmysql–login-path=localhost-e"useinformation_schema;selec…

    2022年6月5日
    30
  • 数据结构——线索化二叉树和哈夫曼树[通俗易懂]

    数据结构——线索化二叉树和哈夫曼树[通俗易懂]线索化二叉树和哈夫曼树基础知识介绍与代码分析一、基础知识介绍二、代码分析:线索二叉树(采用中序遍历)#include “pch.h”#include <iostream>using namespace std;//定义线索二叉树typedef struct Tree{ int data, LTag, RTag; //定义数据域与标记域 Tre…

    2022年8月18日
    10
  • list的splice方法[通俗易懂]

    list的splice方法[通俗易懂]#include#includeusingnamespacestd;intmain(){std::listmylist1,mylist2;std::list::iteratorit;//setsomeinitialvalues:for(inti=1;i<=4;++i)mylist1.push_back(i);

    2022年9月24日
    2
  • jcaptcha使用

    jcaptcha使用

    2021年5月12日
    127
  • 带通滤波器电路图大全(三款带通滤波器电路设计原理图详解)「建议收藏」

    带通滤波器电路图大全(三款带通滤波器电路设计原理图详解)「建议收藏」带通滤波器电路图设计(一)传统的带通滤波器设计方法中涉及了很多复杂的理论分析和计算。针对上述缺点,介绍一种使用EDA软件进行带通滤波器的设计方案,详细阐述了使用FilterPro软件进行有源带通滤波器电路的设计步骤,然后给出了在Proteus中对所设计的滤波器进行仿真分析和测试的方法。测试结果表明,使用该方法设计的带通滤波器具有性能稳定。设计难度小等优点,也为滤波器的设计提供了一个新的思路。…

    2022年6月7日
    69
  • ID卡(工卡)复制到手机NFC「建议收藏」

    ID卡(工卡)复制到手机NFC「建议收藏」1.很多单位的工卡都是ID卡,而读卡机,一般是多频的,支持多种卡,那么如何把ID卡写到手机NFC中,实现“忘带卡自由”呢?2.前提条件:用手机NFC,在单位的刷卡机上刷卡,提示“非法卡”。说明打卡机支持NFC,如果不支持,请略过本文3.在单位的打卡机上正常刷卡,屏幕上会提示卡号。或者有的工卡上带卡号,一般ID卡号是00开头或000开头的10位卡号。如果不是,说明不是ID卡,请略过本文。有的单位的人事系统里也会记录员工的物理ID卡号。或者用其他读卡器读ID卡,也能读到卡号。4.获取到ID物理卡号后

    2022年5月1日
    1.6K

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号