c语言中输入一字符串(该字符串全部由小写字母组成),分别统计字符串中所包含的各个字符的个数。字符串长度不超过50。
时间: 2023-10-09 14:11:32 浏览: 242
可以使用一个长度为26的数组来存储每个小写字母出现的次数,数组下标表示字母对应的ASCII码值减去字符'a'的ASCII码值。具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[51];
int count[26] = {0};
int len, i;
printf("请输入一个小写字母组成的字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
count[str[i] - 'a']++;
}
for (i = 0; i < 26; i++) {
if (count[i] != 0) {
printf("%c出现了%d次\n", 'a' + i, count[i]);
}
}
return 0;
}
```
在上述代码中,我们先定义了一个长度为26的整型数组count,用来记录每个小写字母出现的次数。然后通过scanf函数输入字符串,并使用strlen函数获取字符串的长度。接着使用一个for循环遍历字符串中的每个字符,将对应的计数器加1。最后再使用一个for循环遍历数组,输出每个字母出现的次数。
相关问题
C语言代码:输入一字符串(该字符串全部由小写字母组成),分别统计字符串中所包含的各个字符的个数。字符串长度不超过50。 输入格式: 输入一个字符串str。 输出格式: 按字母顺序输出每个字母的个数。
好的,以下是相应的C语言代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[51];
int count[26] = {0};
int len, i;
printf("请输入字符串:\n");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
count[str[i] - 'a']++;
}
printf("各个字母出现的个数如下:\n");
for (i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c:%d\n", i + 'a', count[i]);
}
}
return 0;
}
```
解析:
首先,我们定义了一个长度为51的字符数组str,以及一个长度为26的整型数组count(用于存放每个字母出现的次数)。然后,通过scanf函数获取输入的字符串。使用strlen函数获取输入字符串的长度len。我们遍历字符串str,并使用方括号运算符(数组下标)将字符转为数字做为下标,然后在count数组中对应元素加一。最后,我们遍历整个count数组,如果元素的值大于0,就输出对应的字母以及出现的次数。
输出结果如下:
```
请输入字符串:
hello
各个字母出现的个数如下:
e:1
h:1
l:2
o:1
```
C语言输入一字符串,分别统计字符串中大写字母和小写字母的个数
以下是使用 C 语言编写的程序,统计字符串中大写字母和小写字母的个数:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[100];
int length;
int uppercase = 0;
int lowercase = 0;
printf("请输入字符串:");
scanf("%s", str);
length = strlen(str);
// 统计大写字母和小写字母的个数
for (int i = 0; i < length; i++) {
if (isupper(str[i])) {
uppercase++;
} else if (islower(str[i])) {
lowercase++;
}
}
printf("大写字母的个数为:%d\n", uppercase);
printf("小写字母的个数为:%d\n", lowercase);
return 0;
}
```
程序首先要求用户输入字符串,然后使用 `strlen` 函数获取字符串的长度。接下来,使用 `for` 循环遍历字符串的每个字符,如果字符为大写字母,则将 `uppercase` 的值加 1;如果字符为小写字母,则将 `lowercase` 的值加 1。最后,输出大写字母和小写字母的个数。在这个程序中,我们使用了 `ctype.h` 中的函数 `isupper` 和 `islower` 来判断字符是否为大写字母或小写字母。
阅读全文