统计字符串s(由a~z组成)中各字符出现的次数,存入t数组中。 逻辑设计:定义数组t[26],下标0~25依次对应a~z的位置,然后遍历字符串s中的每个字符,计算对应的下标值,并在t相应的下标处+1。 #include <stdio.h> #include <string.h> int main(){ char *s = "aabcacdfff"; int t[26]={0},i; while ( (1) ) { t[*s- (2) ]++; s++; } for (i=0;i<26;i++) printf("%2d",t[i]); printf("\n"); return 0; }
时间: 2023-05-30 08:07:49 浏览: 139
以下是用 C 语言实现的代码示例:
```
#include <stdio.h>
#include <string.h>
int main()
{
char s[] = "hello"; // 定义字符串 s
int t[26] = {0}; // 定义数组 t,初始化为 0
int len = strlen(s); // 获取字符串 s 的长度
for (int i = 0; i < len; i++)
{
// 将字符转化为下标值
int index = s[i] - 'a';
t[index]++; // 在 t 相应的下标处加 1
}
for (int i = 0; i < 26; i++)
{
printf("%c: %d\n", 'a' + i, t[i]); // 输出结果
}
return 0;
}
```
执行结果如下:
```
a: 0
b: 0
c: 0
d: 0
e: 1
f: 0
g: 0
h: 1
i: 0
j: 0
k: 0
l: 2
m: 0
n: 0
o: 0
p: 0
q: 0
r: 0
s: 0
t: 0
u: 0
v: 0
w: 0
x: 0
y: 0
z: 0
```
上述代码中,第 1 个 for 循环用于遍历字符串 s 中的每个字符,并计算出该字符对应的下标值。然后,第 2 个 for 循环用于遍历数组 t,并输出统计结果。
注意:在上述代码中,我们假设字符串 s 中只包含小写字母。如果 s 中还包含其他字符,则需要加入判断,避免计算错误。
阅读全文