B2122 单词翻转

B2122 单词翻转

[B2122 单词翻转](https://www.luogu.com.cn/problem/B2122?contestId=150480
B2122 单词翻转

题意

输入一串字符,将它倒着输出,但是,单词之间要换行,才能输出。

思路

  1. 先写for循环,
  2. 在往上加while循环。
  3. 定义i=字符串的长度,i>=0将一个个倒过来输出。遇到空格时,表示这组字符串结束,就将其输出。

坑点

  1. 输出有点意思,要分开输出,先在for循环里输出单词,在while循环,输出换行符。
  2. 单词要输出一个要换行。并且是第一个单词为第一行,而不是最后一个单词是最后一行。
  3. 字符串的数组,定义。

算法一:字符串的输入,输出

时间复杂度
  • 输出大小: 1.83216381072998 MiB
  • 编译时间: 0.97s
实现步骤
  1. 字符串的定义用string,字符串数组的定义用char[确定数字],
  2. while循环一个个输入字符串,for循环将字符串倒过来。
  3. 数组下标从0开始,若>0,只能输出hell和worl,若>=0,可以输出hello和world。
代码
 #include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
	string s;
	while(cin>>s)
	{
	    for(int i=s.length()-1;i>=0;i--)//数组下标从0开始,若>0,只能输出hell和worl 
	    {
	    	cout<<s[i];//若>=0,可以输出hello和world 
		}
		cout<<endl;
	}
	return 0;
}

总结

简单,但有点坑,要多思考思考一下,怎么才能换行输出,怎么才能第一个输出第一个单词,而不是最后一个。for循环里的条件要好好思考一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值