c语言编程 统计一行字符串中单词的个数(不超过80字符)。规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
时间: 2024-02-16 10:05:00 浏览: 64
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[80];
int i, count = 1; // 初始化为1,因为一行的开始没有空格
printf("请输入一行字符串(不超过80字符):");
gets(str);
for (i = 0; i < strlen(str); i++) {
if (str[i] == ' ') {
count++; // 遇到空格,单词数加一
}
}
printf("单词数为:%d\n", count);
return 0;
}
```
这个程序中,我们使用 gets() 函数从键盘输入一行字符串,然后用一个循环遍历字符串中的每个字符。如果遇到一个空格,就说明前面的部分是一个单词,将单词数 count 加一。最后输出单词数。注意,我们在循环外面将 count 初始化为 1,因为一行的开始没有空格,是一个单词。
相关问题
用c语言编写函数fun,该函数的功能是: 统计一行字符中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干空格隔开,一行的开始没有空格。
以下是用c语言编写的函数fun,实现统计一行字符中单词的个数:
```c
#include <stdio.h>
int fun(char str[]) {
int count = 1;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ') {
count++;
}
}
return count;
}
int main() {
char str[100];
printf("请输入一行字符串:");
fgets(str, 100, stdin);
printf("单词个数为:%d\n", fun(str));
return 0;
}
```
首先在主函数中输入一行字符串,再将其传递给fun函数。在函数中,我们用一个计数器count来记录单词的个数,初始值为1(因为一行的开始没有空格)。接着遍历字符串,如果遇到空格,就将计数器加1。最后函数返回计数器的值,即单词的个数。
注意,这里使用fgets函数输入字符串,因为它可以避免输入太长导致缓冲区溢出的问题。同时,需要注意字符串的最大长度,这里我们假设为100。
C语言编程统计一个字符串中大写字母、小写字母、数字和其他字符的个数,要求用指针实现。
下面是一个使用指针实现统计字符串中大写字母、小写字母、数字和其他字符个数的 C 语言代码示例:
```c
#include <stdio.h>
void count_chars(char *str, int *upper, int *lower, int *digit, int *other) {
while (*str != '\0') {
if (*str >= 'A' && *str <= 'Z') {
(*upper)++;
} else if (*str >= 'a' && *str <= 'z') {
(*lower)++;
} else if (*str >= '0' && *str <= '9') {
(*digit)++;
} else {
(*other)++;
}
str++;
}
}
int main() {
char str[100];
int upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入字符串:");
fgets(str, 100, stdin);
count_chars(str, &upper, &lower, &digit, &other);
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
在 `count_chars` 函数中,我们使用了指针来修改传入的参数。`str` 是指向字符串的指针,而 `upper`、`lower`、`digit` 和 `other` 都是指向整型变量的指针。在函数中,我们使用指针来统计字符串中的各种字符个数,并将结果保存在对应的整型变量中。
在 `main` 函数中,我们使用 `fgets` 函数获取用户输入的字符串,并将字符串传递给 `count_chars` 函数进行统计。最后,我们输出各种字符的个数。
注意:在使用 `fgets` 函数获取用户输入的字符串时,需要注意字符串末尾会自动添加一个换行符,因此需要在字符串中去掉换行符。这里我们可以使用下面的代码去掉换行符:
```c
str[strlen(str) - 1] = '\0';
```
阅读全文