c语言练习50: 字⺟在字符串中的百分⽐

题目:

给你⼀个字符串 s 和⼀个字符 letter ,返回在 s 中等于 letter 字符所占的 百分⽐ ,向下 取整到最接近的百分⽐。

• ⽰例 1: 输⼊:s = foobar, letter = o

输出:33

解释: 等于字⺟ o 的字符在 s 中占到的百分⽐是 2 / 6 * 100% = 33% ,向下取整,所以返回 33 。

算法思路:

  1. 定义⼀个变量 cnt ,并初始化为0;

  2. 遍历字符串数组,当⽬标字符出现时 cnt++ ;

  3. 返回 cnt 与⻓度的百分⽐值。

cpp 复制代码
int  percentageLetter(char* s, char letter) {
	int cnt = 0;
	int len = strlen(s);
	//字符串指针⾸先指向字符串第⼀位(下标为0)字符
    //当字符串指针不指向空时进⼊循环,字符串的最后⼀位必然为空字符('/0')
	while (*s) {
		//如果字符串指针当前指向的字符与⽬标字符相等则记录次数
		if (letter == *s) {
			cnt++;
		}
		//字符串指针指向后⼀位
		s++;
	}
	//题⽬要求返回百分⽐,因此结果需要与100相乘
	return cnt * 100 / len;
} 
相关推荐
雾岛听蓝1 分钟前
C++优选算法 | 双指针篇(一)
开发语言·c++
byzh_rc2 分钟前
[微机原理与系统设计-从入门到入土] 微型计算机基础
开发语言·javascript·ecmascript
编程大师哥3 分钟前
Java web
java·开发语言·前端
书中藏着宇宙5 分钟前
CornerNet的续篇(数据处理与训练)
开发语言·python
你怎么知道我是队长9 分钟前
C语言---预处理器
c语言·开发语言·chrome
JAVA+C语言12 分钟前
Java ThreadLocal 的原理
java·开发语言·python
精神小伙就是猛24 分钟前
C# Task/ThreadPool async/await对比Golang GMP
开发语言·golang·c#
范纹杉想快点毕业30 分钟前
欧几里得算法与扩展欧几里得算法,C语言编程实现(零基础全解析)
运维·c语言·单片机·嵌入式硬件·算法
办公自动化软件定制化开发python31 分钟前
基于PyQt5开发的文件智能查找工具,开源思路+完整实现,解决办公文件检索痛点
开发语言·qt
工程师00731 分钟前
C#状态机
开发语言·c#·状态模式·状态机