求教一道C语言问题,在线等

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:43:05
输入一行表示句子的英文字符(以'\n'结束),单词之间用空格间隔,无标点符号,要求顺序输出每个单词,每行输出1个单词,最后1行输出单词个数
如:
输入:This is a demo
输出:This
is
a
demo
4

#include<iostream>
#include <string>
using namespace std;

int main()
{
string s;
int n = 0;
while(cin >> s)
{
cout << s << endl;
n++;
}
cout << n << endl;

return 0;
}

ctrl+z结束输出单词个数

这是C++,相应的地方改改就好

/*
输入一行表示句子的英文字符(以'\n'结束),单词之间用空格间隔,
无标点符号,要求顺序输出每个单词,每行输出1个单词,最后1行输出单词个数
如:
输入:This is a demo
输出:This
is
a
demo
4
*/
#include<stdio.h>
#include<stdlib.h>
main()
{
int i = 0,count = 1;
char *Sentence,c;
Sentence = (char *)malloc(100*sizeof(char));
for(i = 0;(c = getchar())!='\n';i++)
{
*(Sentence+i) = c;
}
*(Sentence+i) = '\0';
for(i = 0;*(Sentence+i)!='\0';i++)
{
if(*(Sentence+i)!=' '