80分求助!大佬们帮忙康康!

B2110 找第一个只出现一次的字符

TomMiller @ 2022-04-16 12:38:37

#include<stdio.h>
int  check(char*arr)
{
    char p;
    int num[30] = { 0 }; 
    int i = 0;
    int j = 1;
    for (p = 'a'; p <= 'z'; p++)
    {
            char* temp = arr;
            for (i = 0; *temp != '\0'; i++)
            {
                if (*temp == p)
                {
                    num[j]++;
                }
                temp++;
            }
            j++;
    }
    for ( i = 1; i <= 26; i++)
    {
        if (num[i]==1)
        {
            return 96+i;
        }
    }
    if (i>26)
    {
        return 0;
    }
}
int main()
{   
    char arr[1200] = { 0 };
    scanf("%s", &arr);
    int c=check(arr);
    if (c!=0)
    {
        printf("%c\n", c);
    }
    else
    {
        printf("no\n");
    }
    return 0;
}

|