用c语言求一个单词的个数
时间: 2023-04-07 17:00:34 浏览: 153
可以使用C语言中的字符串处理函数来实现计算单词个数的功能。具体实现方法可以使用循环遍历字符串中的每个字符,如果当前字符是空格或者换行符,则说明前面的字符组成了一个单词,单词计数器加1。代码示例:
```c
#include <stdio.h>
#include <string.h>
int countWords(char *str) {
int count = 0;
int len = strlen(str);
int i;
for (i = 0; i < len; i++) {
if (str[i] == ' ' || str[i] == '\n') {
count++;
}
}
return count;
}
int main() {
char str[] = "Hello world, this is a test.";
int count = countWords(str);
printf("The number of words in the string is: %d\n", count);
return 0;
}
```
输出结果为:
```
The number of words in the string is: 6
```
相关问题
c语言统计相同单词的个数
在 C 语言中,统计相同单词的个数通常需要一些字符串处理步骤,包括读取输入、分割单词、存储并计数。这里提供一个简单的示例,假设我们没有使用库函数,而是手动处理:
```c
#include <stdio.h>
#include <string.h>
#define MAX_WORDS 100 // 最大单词数量
#define MAX_WORD_LENGTH 50 // 单词最大长度
// 定义结构体来存储单词及其出现次数
typedef struct {
char word[MAX_WORD_LENGTH + 1];
int count;
} WordCount;
void split_and_count_words(char* input) {
char word[MAX_WORD_LENGTH + 1]; // 当前处理的单词
int words_processed = 0; // 已经处理的单词数量
int i;
// 分割单词并统计
for (i = 0; i <= strlen(input); i++) {
if (input[i] == ' ' || input[i] == '\n') { // 遇到空格或换行符
if (strlen(word) > 0) { // 如果当前单词非空
strcpy(WordCount[words_processed].word, word);
WordCount[words_processed].count = 1; // 初始计数为1
words_processed++;
}
word[0] = '\0'; // 清空当前单词
} else {
word[strlen(word)] = input[i]; // 继续添加字符
}
}
// 处理最后一个单词,如果还有剩余
if (strlen(word) > 0) {
strcpy(WordCount[words_processed].word, word);
WordCount[words_processed].count = 1; // 计数加一
words_processed++;
}
// 初始化剩余位置为0
for (; words_processed < MAX_WORDS; words_processed++) {
strcpy(WordCount[words_processed].word, "");
WordCount[words_processed].count = 0;
}
// 现在 WordCount 数组包含了所有单词及其出现次数
}
int main() {
char input[1024];
printf("请输入一段文本: ");
fgets(input, sizeof(input), stdin);
split_and_count_words(input);
int total_words = 0;
for (int i = 0; i < MAX_WORDS; i++) {
if (WordCount[i].count > 0) {
printf("%s出现了 %d 次\n", WordCount[i].word, WordCount[i].count);
total_words += WordCount[i].count;
}
}
printf("总共有 %d 个不同的单词.\n", total_words);
return 0;
}
```
这个程序会接收用户输入的文本,然后统计其中的不同单词及它们出现的次数。注意这只是一个基础版本,实际应用可能会需要更复杂的字符串处理和错误处理。
C语言统计句子中单词的个数
以下是C语言统计句子中单词个数的代码示例:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, word_count;
printf("请输入一个句子:");
gets(str);
len = strlen(str);
word_count = 1;
for (i = 0; i < len; i++)
{
if (str[i] == ' ')
{
word_count++;
}
}
printf("单词个数为:%d", word_count);
return 0;
}
```
代码说明:
1. 首先定义一个字符数组`str`,用于存储用户输入的句子。
2. 使用`gets()`函数获取用户输入的句子。
3. 使用`strlen()`函数获取句子的长度。
4. 定义一个变量`word_count`,用于记录单词的个数,初始化为1,因为第一个单词前面没有空格。
5. 使用`for`循环遍历句子中的每个字符,如果遇到空格,则单词个数加1。
6. 最后输出单词个数。
阅读全文