openjudge 1.7.2 找第一个只出现一次的字符

视频讲解:10月15日_哔哩哔哩_bilibili 

OpenJudge - 02:找第一个只出现一次的字符


解题思路:

1.由题意得,找第一个只出现一次的字符,那么我们想到的思路是从开头到结尾枚举每一个字符,然后再依次和这个字符串中的每个字符去比较,如果相等,计数器增加,最后判断计数器是不是为1,如果是1,代表只出现了一次,输出该字符

2.注意摘取出来的字符是每次和整个字符串中的每个字符比较,并不是他后面的,举个反例aabcd,如果是从这个字符后面开始遍历的话,那么第二个a就是第一次出现的字符,很明显不对

3.所以创建一个循环,从0开始,依次遍历,再创建一个for的内循环,依次和这个字符比较

4.最后输出结果


#include<bits/stdc++.h>
using namespace std;
char a[100005]; 
int main()
{
	cin>>a;//输入字符串 

	for(int i=0;i<=strlen(a)-1;i++)//枚举字符串中的每个字符 
	{
		int sum=0;//每次都初始化计数器 

		for(int j=0;j<=strlen(a)-1;j++)//再次枚举字符串中的每个字符 
		{
			if(a[i]==a[j])//如果这两个字符相等 
			sum++;//计数器增加 
		}

		if(sum==1)//遍历完如果sum为1,说明只出现了一次 
		{
			cout<<a[i];//输出这个字符 
			return 0;//结束程序 
		}
	}

	cout<<"no";//如果没有的话,输出no 
	return 0;
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值