code[vs] - 1205 单词翻转 - 字符串



输入包括一个英语句子。按单词的顺序把单词倒序输出。

没错,就是这么简单的题目,卡了我四十多分钟!!!!分分钟推了重写三遍!!!

想说网络赛虐死,找找水题提高自信,卧槽!!!!!我的自信已经风中凌乱消失不见了啊!!!


被文件流坑死啊!!!!

说好的简单粗暴好用的 fgets 呢!!!人和代码之间这一点简单的友谊都没有了啊!!!

 freopen("in.txt","r",stdin);

当我加上这么一句话才发现自己错在哪里了!!!!

in.txt:

i love you     -->结尾为换行符
happy day   -->结尾为换行符
one appple  -->文本末尾 结尾就是 e 这个字母啊是字母啊字母!!!!!!!!

一直黑框输入输出数据就没错啊没错!!原来坑在这里啊!!!我真是脑子秀逗啊我擦!!!

我已经委屈的嘤嘤的哭起来了!!!!

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
const int M = 3000 + 5;
char str[M];
int main()
{
    //freopen("in.txt","r",stdin);
	while (fgets(str, M, stdin))
	{
		int len;
		len = strlen(str);
		int id;
		if(str[len-1]=='\n')
        {
            id = len-1;
        }
        else id = len;
		str[id] = ' ';
		reverse(str, str + id);
		//puts(str);

		int sl = 0;
		for (int i = 0; i <=len; ++i)
		{
			if (str[i] == ' ')
			{
                    reverse(str + sl, str + i);
					sl = (i + 1);
			}
		}
		str[id] = '\0';
		puts(str);

	}
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值