帮我写一个C语言,键盘输入一行字符,统计该字符串中小写英文字母('a'--'z')的个数。输出小写英文字母('a'--'z')的个数。
时间: 2023-03-27 15:01:57 浏览: 69
好的,我可以回答这个问题。以下是C语言代码:
```
#include <stdio.h>
int main() {
char str[100];
int count = ;
printf("请输入一行字符:\n");
fgets(str, 100, stdin);
for (int i = ; str[i] != '\'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
count++;
}
}
printf("小写英文字母的个数为:%d\n", count);
return ;
}
```
这个程序可以读取用户输入的一行字符,并统计其中小写英文字母的个数,最后输出结果。
相关问题
用C语言编程从键盘中输入一行字符串,分别统计该字符串中小写英文字母和数字的个数。
可以使用C语言的标准库函数`islower()`和`isdigit()`来判断字符是否为小写字母和数字。可以使用循环逐个检查字符串中的每个字符,并根据判断结果累加小写字母和数字的个数。
下面是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, count_lower = 0, count_digit = 0;
printf("Enter a string: ");
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
count_lower++;
} else if (isdigit(str[i])) {
count_digit++;
}
}
printf("Number of lowercase letters: %d\n", count_lower);
printf("Number of digits: %d\n", count_digit);
return 0;
}
```
注意,我们使用`fgets()`函数来从标准输入中读取一行字符串,而不是使用`scanf()`函数,这是因为`scanf()`函数在读取字符串时会忽略空格和换行符,导致读取不完整。`fgets()`函数则会读取整行字符串,包括其中的空格和换行符。
用C语言写键盘输入一个字符串,统计其中的大写字母、小写字母、数字字母、其他字符的个数
以下是用C语言实现键盘输入一个字符串,统计其中的大写字母、小写字母、数字字母、其他字符的个数的代码:
```c
#include <stdio.h>
int main() {
char str[100];
int i, upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入一个字符串:");
gets(str);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else {
other++;
}
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
首先定义了一个字符数组 `str` 来存储输入的字符串,以及四个整型变量 `upper`、`lower`、`digit`、`other` 来分别统计大写字母、小写字母、数字和其他字符的个数。
然后通过 `gets` 函数获取用户输入的字符串。注意:`gets` 函数不会判断输入的字符串长度,可能会导致缓冲区溢出,因此在实际使用中需要使用更安全的字符串输入函数,比如 `fgets`。
接着使用 `for` 循环遍历字符串中的每个字符,并根据 ASCII 码判断该字符是大写字母、小写字母、数字还是其他字符,并分别对 `upper`、`lower`、`digit`、`other` 变量进行累加。
最后输出各个字符类型的个数即可。