【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. 小结

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

相关推荐
萌动的小火苗几秒前
深度学习中的损失函数与优化算法基础知识
人工智能·深度学习·算法
happyprince3 分钟前
02_OpenCodeReview 具体观:八种算法机制与背后的论文谱系
算法
变量未定义~5 分钟前
图论+动态规划——魔法阵
算法
小黄蚁6 分钟前
LVGL学习笔记(一)
笔记·学习
大爱编程♡7 分钟前
C++基础-类和对象
c++·算法
ysa0510309 分钟前
【板子】费用流
算法·深度优先·图论
玖玥拾19 分钟前
LeetCode 80 删除有序数组中的重复项 II
算法·leetcode
青山木32 分钟前
Hot 100 --- 电话号码的字母组合
java·数据结构·算法·leetcode·逻辑回归
懿路向前40 分钟前
【HarmonyOS学习笔记】2026-07-26 | @Trace 序列化 __ob_ 前缀陷阱与消息持久化
笔记·学习
一只小菜鸡..43 分钟前
南京大学 操作系统 (JYY) 学习笔记:可执行文件、链接器与 Shebang 的彩蛋
笔记·学习