输入包括一个英语句子。按单词的顺序把单词倒序输出。
没错,就是这么简单的题目,卡了我四十多分钟!!!!分分钟推了重写三遍!!!
想说网络赛虐死,找找水题提高自信,卧槽!!!!!我的自信已经风中凌乱消失不见了啊!!!
被文件流坑死啊!!!!
说好的简单粗暴好用的 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;
}