分别统计一个字符串中出现小写字母,大写字母,数字和空格的个数。 输入格式:在一行中输入长度不超过40的字符串。 输出格式: 第一行中输出“小写字母=x” 第二行中输出“大写字母=y” 第三行中喻出“数字=z” 第四行中输出“空格=m” 所有结果均原样输出,没有列宽控制,用c语言回答
时间: 2024-03-02 13:51:03 浏览: 66
好的,我会帮您解答这个问题。下面是C语言代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[41];
int len, i, lowercase = 0, uppercase = 0, digit = 0, space = 0;
fgets(str, 41, stdin);
len = strlen(str);
for (i = 0; i < len; i++) {
if (islower(str[i]))
lowercase++;
else if (isupper(str[i]))
uppercase++;
else if (isdigit(str[i]))
digit++;
else if (isspace(str[i]))
space++;
}
printf("小写字母=%d\n", lowercase);
printf("大写字母=%d\n", uppercase);
printf("数字=%d\n", digit);
printf("空格=%d\n", space);
return 0;
}
```
首先,我们定义了一个字符数组`str`,用于存储输入的字符串。然后,我们使用`fgets`函数从标准输入中读取字符串,限制长度为40,避免溢出。
接着,我们使用一个循环来遍历字符串中的每一个字符。对于每个字符,我们使用`islower`、`isupper`、`isdigit`和`isspace`函数来判断它是否为小写字母、大写字母、数字或空格,并分别累加对应的计数器。
最后,我们输出结果,注意格式要求,加上对应的字符串即可。
希望能够对您有所帮助!
阅读全文