华为机考(牛客网)字符统计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <string.h>
#define MAXLEN  500
int acsciinum(const char* str)
{
    int len = strlen(str);
    if(len > MAXLEN)
        return -1;
    int ret[128] = {0};
    do
    {
        len--;
        int i = 0;
        if(*str >= 0 && *str <= 127 )
        {
            i = *str;
            ret[i] = 1;
        }
        else
            continue;
        str++;
    }while(len > 0);
    int j = 0;
    int n = 0;
    for(j = 0; j<=127;j++ )
    {
        if(ret[j] == 1)
            n++;
    }
    return n;
}
int main()
{
    char cinstr[500];
    while(scanf("%s",cinstr)!=EOF)
    {
        printf("%d",acsciinum(cinstr));
    }
}

  

描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。
 
数据范围: 

输入描述:

输入一行没有空格的字符串。

输出描述:

输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。

示例1

输入:
abc
输出:
3

示例2

输入:
aaa
输出:
1

 

posted on   lydstory  阅读(69)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-12-02 同步文件用rsync
2020-12-02 rsync
2020-12-02 rsync
2020-12-02 MyBatis-Plus mysql
2019-12-02 qt按钮
2019-12-02 centos curl安装
2019-12-02 vs2017 curl7.6编译

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示