广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言是怎样输出唯一的子串
  • 760
分享到

C语言是怎样输出唯一的子串

2023-06-22 00:06:51 760人浏览 八月长安
摘要

C语言是怎样输出唯一的子串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 题目描述给一个字符串,求长度为m的所有不重复的子串。 比如字符串"aaab&q

C语言是怎样输出唯一的子串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

 题目描述

给一个字符串,求长度为m的所有不重复的子串。 比如字符串"aaab",我们求长度为2的子串,那么依次为"aa","aa","ab",那么不重复的子串为"aa","ab"

输入

第一行是一个整数K,表示样例的个数。 每个样例的第一行是一个整数m,表示所求子串的长度。 第二行是一个字符串,字符串全部由小写英文字母组成,长度不超过100。

输出

按字典序输出所有不重复子串,每个样例最后输出一个空行。

样例输入

aaab 

aaab

样例输出

aa 

ab  

aaa 

这道题可以定义一个二维数组用来存放字符串的所有子串,然后排序,最后一个个输出,遇到相同的只输出一个。

完整代码

#include <stdio.h>#include <string.h> 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语言是怎样输出唯一的子串问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网其他教程频道了解更多相关知识。

--结束END--

本文标题: C语言是怎样输出唯一的子串

本文链接: https://www.lsjlt.com/news/301520.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言是怎样输出唯一的子串
    C语言是怎样输出唯一的子串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 题目描述给一个字符串,求长度为m的所有不重复的子串。 比如字符串"aaab&q...
    99+
    2023-06-22
  • C语言输出唯一的子串
     题目描述 给一个字符串,求长度为m的所有不重复的子串。 比如字符串"aaab",我们求长度为2的子串,那么依次为"aa","aa","ab",那么不重复的子串为"aa","ab" ...
    99+
    2022-11-12
  • c语言怎么倒序输出字符串
    可以通过循环遍历字符串的每个字符,然后从字符串的最后一个字符开始输出,直到第一个字符。下面是一个示例代码:```c#include ...
    99+
    2023-09-08
    c语言
  • c语言反向输出字符串的方法是什么
    在C语言中,反向输出字符串的方法可以通过以下步骤实现:1. 首先,计算字符串的长度。可以使用标准库函数strlen来获取字符串的长度...
    99+
    2023-09-08
    c语言
  • 一起来学习C语言的输入和输出
    目录一、scanf() 和 printf() 函数实例二、getchar() 和 putchar() 函数实例1实例2三、gets() 和 puts() 函数实例...
    99+
    2022-11-13
  • C语言怎么输出一个数的逆序数
    可以利用循环和取模运算来实现输出一个数的逆序数。具体步骤如下:1. 定义一个变量n,表示待输出的数。2. 利用循环,将n每次除以10...
    99+
    2023-08-18
    C语言
  • c语言怎么判断两个字符串是否一样
    在C语言中,可以使用strcmp()函数来判断两个字符串是否相同。strcmp()函数的原型为:```cint strcmp(con...
    99+
    2023-08-18
    c语言
  • C语言怎么打印输出某一年的日历
    本篇内容主要讲解“C语言怎么打印输出某一年的日历”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么打印输出某一年的日历”吧!输入一个年份(1970以后的),以 2*6 的格式打印当年的日历...
    99+
    2023-06-08
  • C语言怎么用sprintf固定字符串输出位数
    今天小编给大家分享一下C语言怎么用sprintf固定字符串输出位数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、前言sp...
    99+
    2023-07-05
  • c语言中递归字符串逆序输出怎么实现
    要实现递归字符串逆序输出,可以按照以下步骤进行:1. 定义一个递归函数,该函数接受一个字符串作为参数。2. 在递归函数中,首先判断字...
    99+
    2023-08-24
    c语言
  • 怎么用c语言输出一个空心正方形
    include int main() { int side; printf("请输入正方形的边长:"); scanf("%d", ...
    99+
    2023-10-27
    c语言
  • c语言文件输入输出的方法是什么
    C语言文件的输入输出方法主要通过标准库函数来实现。文件的输入输出主要涉及以下几个函数:1. fopen函数:用于打开一个文件,并返回...
    99+
    2023-08-08
    c语言
  • 怎么用c语言在屏幕上输出一段文字
    要在屏幕上输出一段文字,可以使用C语言的标准库函数printf来实现。下面是一个简单的示例: #include int main...
    99+
    2023-10-23
    c语言
  • c语言怎么清除已输出的内容
    在C语言中,可以通过以下几种方法清除已输出的内容:1. 使用转义字符'\r'或'\b':使用'\r'可以将光标移动到当前行的起始位置...
    99+
    2023-09-15
    c语言
  • c语言如何一次性清除已输出的内容
    在C语言中,一次性清除已输出的内容可以使用以下方法: 使用转义字符"\r":将光标移动到行首,并覆盖已输出的内容。示例如下: #...
    99+
    2023-10-23
    c语言
  • C语言怎样计算字符串最后一个单词的长度
    今天就跟大家聊聊有关C语言怎样计算字符串最后一个单词的长度,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(...
    99+
    2023-06-22
  • C语言链表是怎么样的
    这篇文章将为大家详细讲解有关C语言链表是怎么样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.链表概况1.1 链表的概念及结构概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序...
    99+
    2023-06-29
  • c语言用scanf输入字符串的方法是什么
    在C语言中,可以使用`scanf`函数来输入字符串。具体步骤如下:1. 声明一个字符数组来存储输入的字符串,例如 `char str...
    99+
    2023-09-12
    c语言
  • c语言循环输入字符串的方法是什么
    在C语言中,可以使用while循环或do-while循环来实现循环输入字符串的功能。以下是两种常见的方法:1. 使用while循环:...
    99+
    2023-08-08
    c语言
  • c语言输出格式转换的方法是什么
    在C语言中,输出格式转换主要通过格式化输出函数`printf()`来实现。`printf()`函数可以根据指定的格式将数据输出到屏幕...
    99+
    2023-10-28
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作