【C语言训练题库】第一次出现的字符

🔥 博客主页**🔥** :【 坊钰_CSDN博客

欢迎各位点赞**👍** 评论**✍收藏⭐**

1. 题目

给出一串字符串,找出第一次只出现一次的字符,并返回它的位置,如果不存在,则返回-1

例:

输入:"google" 输出:4

输入:"aa" 输出:-1

2. 分析

  • 不难看出,只要遍历字符串中各个字符,在与其他字符相比就行
  • 使用双层 for 循环,依次判断每一个字符是否与其他字符相等

3. 代码

cpp 复制代码
#include <stdio.h>

int main()
{
	char arr[1000];
	gets(arr);                //创建数组
	int sz = strlen(arr);

	for (int i = 0; arr[i]!='\0'; i++)
	{
		int j = 0;
		for (; arr[j] != '\0'; j++)
		{
			if ((arr[i] == arr[j])&& i != j)    //因为自己不能和自己比较,所以限制 i != j
			{
				break;
			}
		}
		if (arr[j] == '\0')      //当arr [j] 走到最后时,下标 i 就是该字符的位置
		{
			printf("%d\n",i);
			return 1;
		}
	}
	return 0;
}

4. 小结

以上就是关于查找字符串的内容了,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!

相关推荐
.道阻且长.16 小时前
10.LeetCode算法习题讲解--滑动窗口--最大连续为一的个数
算法·leetcode·职场和发展
j7~16 小时前
【C语言】《C语言函数递归完全指南:思想、限制、经典例题(阶乘/斐波那契/青蛙跳台阶/汉诺塔)与迭代优化》
c语言·函数递归·汉诺塔问题·青蛙跳台阶问题·递归与迭代·n的阶乘
IT古董16 小时前
【WMS学习笔记系列】03-功能模块设计
笔记·学习·系统架构
学习中.........16 小时前
Karpathy nanoGPT 教程到底讲了什么
人工智能·算法·语言模型
城管不管16 小时前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
YSL07012417 小时前
动态内存管理
c语言
地平线开发者17 小时前
征程6|YOLOv5x 在 Horizon 征程6 上的端到端部署实践(下)
算法·自动驾驶
BreezeJuvenile17 小时前
基于C语言的SPSC环形缓冲区程序实现
c语言·环形缓冲区
Canmag 兴隆磁性18 小时前
充磁的时候,磁铁里面到底发生了什么
学习·永磁材料·充磁·退磁
SuperByteMaster18 小时前
recursive mutex的使用场景和场景代码
c语言