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

题目:

描述:

给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出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 }

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

转载于:https://www.cnblogs.com/hcyd/p/5482268.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值