C语言是怎样输出唯一的子串
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,C语言是怎样输出唯一的子串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。题目描述给一个字符串,求长度为m的所有不重复的子串。 比如字
千家信息网最后更新 2026年11月04日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安全错误
数据库的锁怎样保障安全
美国互联网保险保险科技
科技平台互联网
金融科技创新监管互联网金融
互联网络科技有限公司
金融科技与互联网金融
高科技与互联网
互联网科技金融公司
美国互联网科技
科技创新互联网企业
上海致骋互联网科技
广州凡科互联网科技
佰商互联网科技有限公司
科技赋能互联网健康
博兴的互联网电子科技公司
互联网科技寓意
科技与互联网哪个更好
群盈汇互联网科技有限公司
互联网时代的科技公司
皮皮虾互联网科技有限公司
广西泛欧互联网科技有限公司
互联网与科技
互联网的科技
互联网为科技
互联网金融 金融科技
贷财互联网科技
滨湖区互联网智能科技产品供应
蓝色互联网科技
河南猎农互联网科技有限公司
恒生科技指数 中概互联网
株洲百竞科技的互联网营销顾问