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



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

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

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


被文件流坑死啊!!!!

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

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

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

in.txt:

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

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

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

#include
#include
#include
#include
#include
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;
}


你可能感兴趣的:(字符串)