C语言字符串练习-统计重复字符
题目要求:
输入一串字符(字符数小于80),以回车表示输入结束,编程计算并输出这串字符中连续重复次数最多的字符和重复次数。如果重复次数最多的字符有两个,则输出最后出现的那一个。
已知函数原型:
//函数功能:统计字符串中连续重复次数最多的字符及其重复的次数
//函数参数:str指向待统计的字符串,指针形参tag返回重复字符最后出现的下标位置
//函数返回值:返回字符重复的次数
int CountRepeatStr(char str[], int *tag);
求解思路:设置一个计数器,遍历字符串中的所有字符,若str[i] == str[i+1],则计数器加1,同时判断计数器的值是否大于记录的最大重复次数max,若大于,则用计数器的值更新max,并记录该字符最后出现的位置i+1.若str[i] != str[i+1],则计数器重新初始化为1。遍历结束时,函数返回max的值。
---------------------------------------------------------------------------------------------------------------------------------代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int CountRepeatStr(char str[], int* tag);
int main()
{
printf("Input a string:\n");
char ch[100];
int max = 0;
int* tag = &max;
fgets(ch, 100, stdin);
printf("%c:%d\n", ch[*tag], CountRepeatStr(ch, tag));
return 0;
}
int CountRepeatStr(char str[], int* tag)
{
int i = 0, max = 0, num = 1;
for (i = 0; i < strlen(str); i++)
{
if (str[i] == str[i + 1])
{
num = num + 1;
}
else
{
num = 1;
}
if (num > max)
{
*tag = i;
max = num;
}
}
return max;
}
C语言字符串练习-统计重复字符相关推荐
- C语言字符串中删除重复的字符的算法(附完整源码)
C语言字符串中删除重复的字符的算法 C语言字符串中删除重复的字符的算法完整源码(定义,实现,main函数测试) C语言字符串中删除重复的字符的算法完整源码(定义,实现,main函数测试) #inclu ...
- R7-3 统计满足特定条件的字符数输入字符串A(没有重复字符),输入字符串B,求在字符串A中字符的个数,这些字符必须同时又在字符串B中。提示:用in运算符。输入格式:一行输入字符串A。一行
输入字符串A(没有重复字符),输入字符串B,求在字符串A中字符的个数,这些字符必须同时又在字符串B中.提示:用in运算符. 输入格式: 一行输入字符串A. 一行输入字符串B. 输出格式: 一行输出字符 ...
- java练习: 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
import java.util.ArrayList; import java.util.Scanner;/*** 7. 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:* 原始字 ...
- lintcode:Unique Characters 判断字符串是否没有重复字符
题目: 判断字符串是否没有重复字符 实现一个算法确定字符串中的字符是否均唯一出现 样例 给出"abc",返回 true 给出"aab",返回 false 挑战 ...
- python字符串重复_【python】判断一个字符串是否包含重复字符?
题目:判断一个字符串是否包含重复字符.例如good则包含,abc则不包含. 分析:哈希法. code: (1) strs = 'Good' hashTable = dict() listStrs = ...
- C语言 字符串分类统计 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数
C语言 字符串分类统计 输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数 题目: 输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数 样例输入: aklsjflj123 ...
- Java 从键盘输入一个字符串,统计某个字符的个数
从键盘输入一个字符串,统计某个字符的个数 例如,从键盘输入"I am a student",统计a出现的次数 字符串转字符数组 字符串.toCharArray(); Scanner ...
- C语言 -- 字符串中根据特定字符(串)分割
版权 C语言字符串操作函数有很多,这里举出需要用到的,其他请自行查找. 1.len = strlen(p) ://取字符串长度 原型:size_t strlen(const char *s); 功能 ...
- 【面试题记】删除字符串中相邻重复字符
问题描述 给定一个字符串,删除相邻重复字符,要求不创建新的字符串. 输入:"abbc" 输出:"abc" 输入:"cccccbbdbbaaaa&quo ...
最新文章
- R包dplyr进行数据清洗和整理
- 今日机器学习概念:感知机模型
- Linux配置keepalived实现nginx高可用安装过程记录
- hexo部署至FTP-COS
- DoraCMS 源码知识点备注
- 使用线性回归的预测建模
- maven整合struts: Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
- 浅析MSIL中间语言——基础篇
- 使用Span T 提高C#代码的性能
- 超声波的四个特性_超声波传感器,超声波的特性
- 地图不显示_图灵搜不显示地图,软件打开一片空白,怎么解决?
- 2021年春季学期期末统一考试电子商务概论(农) 试题
- SpringCloud之实现下载Excel模板文件
- IOS移动应用跳转微信小程序
- html标签blockquote,HTML中的blockquote标签怎么用
- mac安装虚拟机配置win10系统
- 深度对比Soul、觅伊,两款社交软件区别在哪?
- oracle omf管理,论OMF管理文件的重要性
- python实现二维码识别_python实现二维码、条形码识别
- win10、win11高级共享设置修改后无法保存怎么办,无法发现网络设备、无法发现共享设备怎么办?win10、win11发现网络共享设备的方法