样例通过,请问为什么错了呢?(语言-c语言)

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

输入:
一个字符串,长度小于100000。
输出:
输出第一个仅出现一次的字符,若没有则输出no。
样例输入:
abcabd
复制
样例输出:
c
代码:
#include
#include
int main()
{
char str[10000];
fgets(str,10000,stdin);
int a[26],i,count=0;
for(i=0;i<26;i++)a[i]=0;
int len=strlen(str);
for(i=0;i
a[str[i]-'a']++;
}
for(i=0;i
if(a[str[i]-'a']==1){
printf("%c",str[i]);
count++;
break;
}
}
if(count==0)printf("no");
return 0;
}

修改如下,供参考:

#include <stdio.h>
#include <string.h>
int main()
{
    char str[100000]; //修改
    fgets(str, 100000, stdin); //修改
    int a[26], i, count = 0;
    for (i = 0; i < 26; i++) a[i] = 0;
    int len = strlen(str);
    for (i = 0; i < len; i++) {
        a[str[i] - 'a']++;
    }
    for (i = 0; i < len; i++){
        if (a[str[i] - 'a'] == 1){
            printf("%c", str[i]);
            count++;
            break;
        }
    }
    if (count == 0) printf("no");
    return 0;
}

你后面2个for循环语法写错了