找第一个只出现一次的字符(c语言)

给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

一个字符串,长度小于100000。

输出第一个仅出现一次的字符,若没有则输出no。

样例输入

abcabd

样例输出

c

#include <stdio.h>
#include <string.h>

int main() {
    char arr[200] = { 0 };
    fgets(arr, sizeof(arr), stdin);
    arr[strcspn(arr, "\n")] = '\0'; // 去除可能读取到的换行符

    int found = 0; // 用于标记是否找到仅出现一次的字符

    for (int i = 0; arr[i] != '\0'; i++) 
 {
        int count = 0;
        for (int j = 0; arr[j] != '\0'; j++)
        {
            if (arr[i] == arr[j]) 
            {
                count++;
            }
        }
        if (count == 1) 
         {
            printf("%c", arr[i]);
            found = 1; // 标记已找到
            break; // 找到后退出循环
         }
    }

    if (!found) 
 {
        printf("no");
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值