癞蛤蟆丶ccc 发表于 2020-11-20 12:23:05

怎么统计一个字符串数组中各个字符的出现次数

PTA上的题 想不出来了 百度也搜不到
输入样例:Having an active youngster about the house can be quite wearing.
输出:
-->10
.-->1
H-->1
a-->6
b-->2
c-->2
e-->7
g-->3
h-->2
i-->4
n-->5
o-->3
q-->1
r-->2
s-->2
t-->5
u-->4
v-->2
w-->1
y-->1

癞蛤蟆丶ccc 发表于 2020-11-20 12:28:42

#include <stdio.h>
int main(){
    char c;
    gets(c);
    {

/* 请在这里填写答案 */

    }
    return 0;
}

jackz007 发表于 2020-11-20 12:43:24

本帖最后由 jackz007 于 2020-11-20 12:44 编辑

#include <stdio.h>
int main(){
    char c;
    gets(c);
    {
            int d = {0} , k                                                ;
            for(k = 0 ; c ; k ++) d] ++                                 ;
            for(k = 1 ; k < 127 ; k ++) if(d) printf("%c-->%d\n" , k , d) ;
    }
    return 0;
}
      编译、运行实况:
D:\0002.Exercise\C>g++ -o x x.c

D:\0002.Exercise\C>x
Having an active youngster about the house can be quite wearing.
-->10
.-->1
H-->1
a-->6
b-->2
c-->2
e-->7
g-->3
h-->2
i-->4
n-->5
o-->3
q-->1
r-->2
s-->2
t-->5
u-->4
v-->2
w-->1
y-->1

D:\0002.Exercise\C>

癞蛤蟆丶ccc 发表于 2020-11-20 12:53:54

jackz007 发表于 2020-11-20 12:43
编译、运行实况:

有点看不懂 {:10_266:}

jackz007 发表于 2020-11-20 13:00:22

癞蛤蟆丶ccc 发表于 2020-11-20 12:53
有点看不懂

         很简单啊,ASCII 码一共有 127 个字符,所以,就定义一个有 127 个元素的数组来统计各个字符出现的次数,数组的下标索引就是字符的 ASCII 编码数值。

癞蛤蟆丶ccc 发表于 2020-11-20 13:14:37

本帖最后由 癞蛤蟆丶ccc 于 2020-11-20 13:16 编辑

jackz007 发表于 2020-11-20 13:00
很简单啊,ASCII 码一共有 127 个字符,所以,就定义一个有 127 个元素的数组来统计各个字符 ...

第一个for 判断条件a还有那个d]++      这几个看不懂
{:10_254:}{:10_254:}{:10_254:}

jackz007 发表于 2020-11-20 13:26:42

癞蛤蟆丶ccc 发表于 2020-11-20 13:14
第一个for 判断条件a还有那个d]++      这几个看不懂

      for 中的判断条件 c 其实就是在检测字符串结束标志 '\0',这个标志的 ASCII 编码就是 0,其实,也就是整数的 0,作为逻辑表达,如果 c 数值不为零,那么 c 就是真,否则为假;
      循环中,c 是一个字符,这个字符本身有一个数值,就是它的 ASCII 编码,所有字符的 ASCII 数值在 0 ~ 127 之间,所以,c 其实也是一个数值介于 0 ~ 127 之间的整数,那么,c 代表一个字符,d] ++ 其实就是对应这个字符的数组元素值加 1。

癞蛤蟆丶ccc 发表于 2020-11-20 13:42:00

jackz007 发表于 2020-11-20 13:26
for 中的判断条件 c 其实就是在检测字符串结束标志 '\0',这个标志的 ASCII 编码就是 0,其实, ...

大佬牛逼 你这三行代码 佩服佩服{:10_281:}{:10_254:}
页: [1]
查看完整版本: 怎么统计一个字符串数组中各个字符的出现次数