在一行中输入长度不超过40的字符串。 输出格式: 第一行中输出“小写字母=x“ 第二行中输出“大写字母=y“ 第三行中输出“数字=z” 第四行中输出“空格=m” 所有结果均原样输出,没有列宽控制。 输入样例: sd2h b57 sA用C语言
时间: 2024-03-09 09:44:44 浏览: 27
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char str[41];
int i, len, lower = 0, upper = 0, digit = 0, space = 0;
fgets(str, sizeof(str), stdin);
len = strlen(str);
for (i = 0; i < len; i++) {
if (islower(str[i])) {
lower++;
} else if (isupper(str[i])) {
upper++;
} else if (isdigit(str[i])) {
digit++;
} else if (isspace(str[i])) {
space++;
}
}
printf("小写字母=%d\n", lower);
printf("大写字母=%d\n", upper);
printf("数字=%d\n", digit);
printf("空格=%d\n", space);
return 0;
}
```
这段代码中,我们定义了四个变量 `lower`、`upper`、`digit` 和 `space`,分别用于保存小写字母、大写字母、数字和空格的数量。然后我们使用 `fgets()` 函数读入输入的字符串,并用 `strlen()` 函数计算字符串的长度。接着使用 `for` 循环遍历字符串的每个字符,判断其是小写字母、大写字母、数字还是空格,如果是相应的类型,则相应的变量加一。最后,我们使用 `printf()` 函数输出结果,其中 `%d` 是格式化输出整数的占位符。
希望这段代码能够帮到您。