怎么输出不对啊??数单词小程序???

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:55:05
#include<iostream.h>
void main()
{
char c[30];
int i=0;
int word=0;
cin>>c;
while(c[i]!='\n')
{
i++;
if(c[i]==' ')
word++;
}
cout<<(word+1);
}
输入一行字符,用空格计算单词数.

while(c[i]!='\n') 不能用这个判定循环条件,因为回车根本没有存入到数组里。
而且cin>>c; 遇到空格就结束了。根本保存不了空格,应该使用getline函数,
修改结果如下:
#include<iostream.h>
void main()
{
char c[30]={'\0'};//初始化数组全部为'\0'
int i=0;
int word=0;
cin.getline(c,30);
while(c[i]!='\0')
{
i++;
if(c[i]==' ')
word++;
}
cout<<(word+1);
}