用桶做的,存储所有的数字出现的次数,然后再次遍历,第二次的时候直接输出第一个次数为一的,就可以了,这里的话,没有什么太难的地方,暂时想不到有更好的解决办法

#include<stdio.h>
#include<string.h>
using namespace std;
char str[1005],tag=0;
int b[27];
int main(){
    while(scanf("%s",str)!=EOF){
        tag=0;
        memset(b,0,sizeof(b));
        for(int i=0;str[i]!=0;i++){
            b[str[i]-'a']++;
        }
        for(int i=0;str[i]!=0;i++){
            if(b[str[i]-'a']==1){
                tag=str[i];
                break;
            }
        }
        if(tag==0){
            printf("-1\n");
        }else{
            printf("%c\n",tag);
        }
    } 
    return 0;
}