题目1283:第一个只出现一次的字符
题目描述:
在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。
输入:
输入有多组数据
每一组输入一个字符串。
输出:
输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。
样例输入:
ABACCDEFF
AA
样例输出:
1
-1
实验小程序:
#include<stdio.h>
#include<string.h>
int main(void)
{
char in_buff[1024] = {'\0'};
char *m_check = in_buff;
char *m_start = in_buff;
int len = 0, j = 0, flag = 0, i = 0;
printf("Please input some chars:\n");
scanf("%s", in_buff);
printf("the src char is:%s\n",in_buff);
printf("--------------------------------------------\n");
printf("the result is :");
len = strlen(in_buff);
for(i = 0; i < len; i++)
{
while(j < len)
{
if(i == j)
{
j++;
}
if(m_check[i] != m_start[j])
{
j++;
if(m_start[j] == '\0')
{
printf("%d\n",i);
flag = 1;
}
}
else
{
j = 0;
break;
}
}
}
if(flag == 0)
{
printf("-1\n");
}
return 0;
}