在C语言中,输入一字符串 长度小于50,统计其中包含多少一单词单词之间 用空格分隔
时间: 2024-11-27 20:24:35 浏览: 28
在C语言中,为了统计长度小于50的一串单词(由空格分隔),你可以编写一个函数来完成这个任务。首先,你需要接收用户输入的字符串作为参数,然后遍历字符串,每当遇到空格时,就增加单词计数。最后返回单词总数。以下是基本的步骤:
```c
#include <stdio.h>
#include <string.h>
int count_words(char str[], int length) {
int word_count = 0; // 初始化单词计数为0
int i;
// 如果字符串长度小于50
if (length >= 50) {
printf("Error: String length must be less than 50.\n");
return -1;
}
for (i = 0; i < length; i++) { // 遍历字符串
if (str[i] == ' ') { // 如果遇到空格
word_count++; // 增加单词计数
}
}
// 如果字符串结束前没有空格,则最后一个单词也计入
if (i != length && str[i] != '\0') {
word_count++;
}
return word_count;
}
int main() {
char input[50];
printf("Enter a string (less than 50 characters): ");
fgets(input, sizeof(input), stdin); // 获取用户输入并去除换行符
size_t length = strlen(input);
input[length - 1] = '\0'; // 结束字符串
int result = count_words(input, length);
if (result > 0) {
printf("The string contains %d words.\n", result);
}
阅读全文