编程基础之字符串。对我来说有点难啊!

题目:

描述:

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

输入:

输入一个字符串,长度小于100000。输出输出第一个仅出现一次的字符,若没有则输出no。

样例输入  abcabd

自己想了好久都做不出,只好去查了一下答案;
 1 #include<stdio.h> 
 2 #include<string.h> 
 3 int main() 
 4 { 
 5     int t,i,j,flag,len; 
 6     char a[100000]; 
 7         gets(a); 
 8         len=strlen(a); 
 9         for(i=0;i<len-1;i++) 
10         { 
11             flag=1; 
12             if(a[i]=='@') continue; //对于相同的,省略; 
13             for(j=i+1;j<len;j++) //j=j+1;可以不用循环i之前的字母。 
14                 if(a[i]==a[j]) 
15                 { 
16                     a[j]='@'; //相同字母做标记。 
17                     flag=0; //不输出a[i]; 
18                 } 
19             if(flag==1) 
20             { 
21                 putchar(a[i]); 
22                 break; 
23             } 
24         if(i==len-1) printf("no"); 
25         
26     } 
27     return 0; 
28 }

看是看的懂,但要自己写的话就有点难了;

posted @ 2016-05-11 16:09  a_Autumn_moon  阅读(410)  评论(1编辑  收藏  举报