目录
- 1 算法思想
- 2 实现1
- 3 实现2
1 算法思想
读取输入进来的一个字符串,统计其中单词的个数,由于每个单词字母不一样,长度不一样,所以来依靠识别单词来统计单词数是比较难的,下面观察一个字符串
Thank you very much
可以发现这个字符串中,有4个单词,有3个空格,实际上统计空格数就可以统计单词数,即单词数 = 空格数 + 1
,下面给出两个程序实现
2 实现1
#include <>
int main() {
char a[100];
int i, in_word, word_num;
gets(a);
word_num = 0; // 初始化单词个数为0
in_word = 0; // 标记位,标记是否在单词内
for (i = 0; a[i]; i++) {
if (a[i] == ' ') { // 检测到空格
in_word = 0; // 设置标记位为不在单词内
} else if (in_word == 0) { // 在单词内
word_num++; // 统计单词个数
in_word = 1; // 设置标记位为在单词内
}
}
printf("%d", word_num);
}
3 实现2
#include <>
int main() {
printf("输入一行字符:\n");
char ch;
int i,count=0,word=0;
while((ch=getchar())!='\n') {
if (ch==' ') {
word=0;
} else if (word==0) {
word=1;
count++;
}
}
printf("总共有 %d 个单词\n",count);
return 0;
}