C语言是怎样输出唯一的子串
发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,C语言是怎样输出唯一的子串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。题目描述给一个字符串,求长度为m的所有不重复的子串。 比如字
千家信息网最后更新 2025年11月17日C语言是怎样输出唯一的子串
C语言是怎样输出唯一的子串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
题目描述
给一个字符串,求长度为m的所有不重复的子串。 比如字符串"aaab",我们求长度为2的子串,那么依次为"aa","aa","ab",那么不重复的子串为"aa","ab"
输入
第一行是一个整数K,表示样例的个数。 每个样例的第一行是一个整数m,表示所求子串的长度。 第二行是一个字符串,字符串全部由小写英文字母组成,长度不超过100。
输出
按字典序输出所有不重复子串,每个样例最后输出一个空行。
样例输入
2
2
aaab
3
aaab
样例输出
aa
ab
aaa
这道题可以定义一个二维数组用来存放字符串的所有子串,然后排序,最后一个个输出,遇到相同的只输出一个。
完整代码
#include#include int main() { int k,i,j,len,n,l,m; char str[105]={0},a[102][101]={0},temp[100]; scanf("%d",&k); while(k--) { n = 0; scanf("%d",&m); scanf("%s",str); len = strlen(str); for(i = 0;i <= len-m;i++) { l = 0; for(j = i;j < i+m;j++,l++) { a[n][l] = str[j];//子串 } n++; } for(i = 0; i < n; i++)//排序 { for(j = i+1; j < n; j++) { if(strcmp(a[i],a[j])>0) { strcpy(temp,a[i]); strcpy(a[i],a[j]); strcpy(a[j],temp); } } } for(i = 0;i < n;i++) { if(strcmp(a[i],a[i+1])==0)//相同的只输出第一个 continue; for(j = 0;j < m;j++) printf("%c",a[i][j]); printf("\n"); } printf("\n"); memset(str,'\0',sizeof(str)); memset(a,'\0',sizeof(a)); memset(temp,'\0',sizeof(temp)); } return 0;}
关于C语言是怎样输出唯一的子串问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
输出
字符
字符串
长度
问题
语言
相同
一行
整数
更多
帮助
排序
解答
输入
易行
简单易行
个数
代码
内容
字典
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库受到攻击的案例
全光网络技术路线
务川计算机网络技术职业学校
武林闲侠渠道服务器和官服互通吗
宿迁机械软件开发流程
部队信息网络安全保密授课
工业互联网平台东土科技
地铁公司网络安全演练记录
设计弹簧的数据库
网络技术公司所得税率
从高到低排序 数据库
游戏软件开发岗位
网络安全信息的介绍
不符合网络安全法立法过程
湖北安全日志审计服务器
南通软件开发工程师
命令打开数据库注册表
国外服务器防御
饥荒联机版为啥服务器无响应
ping 魔兽服务器
诈骗网站在服务器在国外
ibm网络安全会议
分管网络安全的工作人员具体
500兆云服务器资源租金
士官计算机网络技术学什么
苹果收件服务器和发件服务器
命令打开数据库注册表
网络安全应急支撑队伍要求
网络安全工作整改情况汇报
云服务器私有网络有什么用