编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。 (凡是以一个或多个空格隔开的部分就为一个单词)
?cin中能否包含空格
int main(){
string str;
while(cin>>str){
cout<<str<<endl;
}
return 0;
}
运行结果:
输入:you are so beautiful
输出:
you
are
so
beautiful
结果显示,不管输入字符串是否包含空格,cin不能包含空格,还有一点,gets()能包含空格不能包含回车
思路:虽然示例给出一串字符,貌似是一个遇’.’ 才结束的字符串,实际上可以将它们看成是一个个的分隔的字符串,利用cin天然的不读空格,循环读取字符串,对于含’. '的字符串,输出长度得减去1;
代码:
#include <iostream>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main()
{
string str;
while(cin>>str){
if(str.size()-1!='.'){
cout<<str.size()<<" ";
}
else
cout<<str.size()-1<<" ";
}
return 0;
}