#include<stdio.h>
char firstsingle(char *arr)
{
char asc[255] = {0};
int i = 0;
for(; arr[i] != ‘\0‘; i++)
{
asc[arr[i]]++;
}
for(i = 0; arr[i] != ‘\0‘;i++)
{
if(asc[arr[i]] == 1)
{
return arr[i];
return ‘\0‘;
}
}
}
int main()
{
char arr[10];
char ret;
scanf("%s",&arr);
ret = firstsingle(arr);
printf("%c\n",ret);
return 0;
}
在字符串中找出第一个只出现一次的字符,首先字符根据ASCLL变共有256种,则建立一个这么长的字符数组,从前往后检索,遇到就计数,如果是符合条件的firstsingle word 则计数后应该为1.
另外,asc[arr[i]]是将每次输入的字符arr[i]当成ASCII码存储在计算机中。
【笔试题】C语言:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出'b'。
原文:http://10740184.blog.51cto.com/10730184/1708544