C++问题,在线等!!!做对了追加50分

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:40:38
编写一个从输入到输出的程序,即把键盘输入的在屏幕上输出。要求:当遇见多个空格时,只显示一个,当遇到回车或 END 字符串(不区分大小写)时,结束并输出以前输入的字符。(本题我悬赏提问了好几次,可一直没人回答,想得分的话,可以回答多个相同的题,最少的悬赏20!有本事的人都来做做啊)

问一些细节问题:
1.是不是当输入END后,即使不输入回车,程序也自动停止输入并输出以前的字符?
2.可以用C语言专有的头文件么?

对于我的问题,我默认答案都为“是”。

#include<string>
#include<iostream>
#include<conio.h>
using namespace std;

int main()
{
int flag;
bool space;
string str;
char c;

space = 0;
flag = 0;
while (flag < 3)
{
c = _getche();
if (c == 13)
break;
if (space == 1 && c == ' ')
continue;
if (c == ' ')
space = 1;
else
space = 0;
if (c == 'e' || c == 'E')
flag = 1;
else if (flag == 1 && (c == 'n' || c == 'N'))
flag = 2;
else if (flag == 2 && (c == 'd' || c == 'D'))
flag = 3;
else
flag = 0;

str += c;
}
if (c != '\n')
cout<<endl;
cout<<str<<endl;
retu