如何得出字符串中一共有多少个不同的字符

双层for循环,很low

int count=0;
        for (int i=0;i<s.length();i++){
            int j=0;
            for ( j=0;j<i;j++){
                if (c[j]==c[i]){
                    break;
                }
            }
            if (j==i){
                count++;
            }
        }

使用map存储字符串中的字符,因为map中不能存储重复的字符,所以的map的keyset集合中有多少个元素,字符串中就有多少个不同的字符


```java
 char[] c=s.toCharArray();
        //如何判断一个字符串中有多少种不同的字符串
        int count=0;
        Map<Character,Integer> map=new HashMap<>();
        for (int i=0;i<s.length();i++){
            map.put(c[i],map.getOrDefault(c[i],0)+1);
        }
        System.out.println(map.keySet().size());

在C语言中,可以通过以下方法计算字符串中特定字符的数量。 ### 方法思路 定义一个字符串数组用于存储输入的字符串,一个字符变量存储要查找的特定字符,同时定义一个计数器变量用于记录特定字符出现的次数。通过循环遍历字符串的每个字符,若该字符与特定字符相同,则计数器加1。 ### 代码示例 ```c #include <stdio.h> int main() { char str[1000], ch; // str存储字符串(最大999个有效字符),ch存储目标字符 int i, frequency = 0; // i为循环变量,frequency为计数器(初始0) // 读取字符串(支持空格、换行) printf("字符串:"); fgets(str, (sizeof str / sizeof str[0]), stdin); // 读取特定字符 printf("特定字符:"); scanf("%c", &ch); // 遍历字符串,统计特定字符出现的次数 for (i = 0; str[i] != '\0'; i++) { if (str[i] == ch) { frequency++; } } // 输出结果 printf("字符 %c 在字符串中出现的次数为: %d\n", ch, frequency); return 0; } ``` ### 代码解释 1. **变量定义**:`char str[1000], ch;` 定义了一个长度为1000的字符数组 `str` 用于存储输入的字符串,一个字符变量 `ch` 用于存储要查找的特定字符;`int i, frequency = 0;` 定义了循环变量 `i` 和计数器变量 `frequency`,并将计数器初始化为0 [^1]。 2. **输入处理**:使用 `fgets` 函数读取包含空格和换行的字符串,使用 `scanf` 函数读取特定字符 [^1]。 3. **字符统计**:通过 `for` 循环遍历字符串,当遇到与特定字符相同的字符时,计数器 `frequency` 加1。 4. **输出结果**:使用 `printf` 函数输出特定字符字符串中出现的次数。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值