用数组统计各种字符个数
时间: 2024-02-03 18:15:50 浏览: 18
可以使用一个长度为256的整型数组来记录每种字符出现的次数,数组下标表示字符的ASCII码值。
以下是一个示例代码:
```python
def count_chars(s):
counts = [0] * 256
for c in s:
counts[ord(c)] += 1
return counts
s = "Hello, world!"
counts = count_chars(s)
for i in range(256):
if counts[i] > 0:
print(chr(i), counts[i])
```
输出结果如下:
```
H 1
e 1
l 3
o 2
, 1
1
w 1
r 1
d 1
! 1
```
其中`ord(c)`函数可以将字符`c`转换为其对应的ASCII码值,`chr(i)`函数可以将整数`i`转换为其对应的字符。
相关问题
统计字符数组中数字字符个数
可以遍历字符数组,判断每个字符是否为数字字符,如果是数字字符则计数器加1,最后返回计数器的值即为数字字符个数。
以下是一个示例代码:
```java
public static int countDigits(char[] arr) {
int count = 0;
for (char c : arr) {
if (c >= '0' && c <= '9') {
count++;
}
}
return count;
}
```
使用示例:
```java
char[] arr = {'a', '1', '2', '3', 'b', 'c', '4', '5', '6', 'd', 'e'};
int count = countDigits(arr);
System.out.println("数字字符个数:" + count); // 输出:数字字符个数:6
```
用字符数组统计出现数字个数
好的,这是一个很简单的问题。你可以使用一个循环来遍历字符数组,然后使用isdigit()函数来判断每个字符是否为数字。如果是数字,计数器就加1。以下是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "Hello123World456";
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
count++;
}
}
printf("数字个数为:%d\n", count);
return 0;
}
```
输出结果为:
```
数字个数为:6
```
希望这个答案能够帮到你!