最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言輸出唯一的子串

 更新時(shí)間:2021年12月08日 11:50:23   作者:天笙月  
這篇文章主要介紹了C語(yǔ)言輸出唯一的子串,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

?題目描述

給一個(gè)字符串,求長(zhǎng)度為m的所有不重復(fù)的子串。 比如字符串"aaab",我們求長(zhǎng)度為2的子串,那么依次為"aa","aa","ab",那么不重復(fù)的子串為"aa","ab"

輸入

第一行是一個(gè)整數(shù)K,表示樣例的個(gè)數(shù)。 每個(gè)樣例的第一行是一個(gè)整數(shù)m,表示所求子串的長(zhǎng)度。 第二行是一個(gè)字符串,字符串全部由小寫(xiě)英文字母組成,長(zhǎng)度不超過(guò)100。

輸出

按字典序輸出所有不重復(fù)子串,每個(gè)樣例最后輸出一個(gè)空行。

樣例輸入

2?

2?

aaab?

3?

aaab

樣例輸出

aa?

ab??

aaa?

這道題可以定義一個(gè)二維數(shù)組用來(lái)存放字符串的所有子串,然后排序,最后一個(gè)個(gè)輸出,遇到相同的只輸出一個(gè)。

完整代碼

#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)//相同的只輸出第一個(gè)
            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;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c++程序字符型的實(shí)例講解

    c++程序字符型的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于
    2020-02-02
  • C語(yǔ)言中進(jìn)制知識(shí)匯總

    C語(yǔ)言中進(jìn)制知識(shí)匯總

    在C語(yǔ)言里,整數(shù)有三種表示形式:十進(jìn)制,八進(jìn)制,十六進(jìn)制。 其中以數(shù)字0開(kāi)頭,由0~7組成的數(shù)是八進(jìn)制。以0X或0x開(kāi)頭,由0~9,A~F或a~f 組成是十六進(jìn)制。除表示正負(fù)的符號(hào)外,以1~9開(kāi)頭,由0~9組成是十進(jìn)制。
    2016-05-05
  • C語(yǔ)言函數(shù)調(diào)用約定和返回值詳情

    C語(yǔ)言函數(shù)調(diào)用約定和返回值詳情

    這篇文章主要介紹了C語(yǔ)言函數(shù)調(diào)用約定和返回值詳情,函數(shù)調(diào)用約定不同,會(huì)影響函數(shù)生成的符號(hào)名,函數(shù)入?yún)㈨樞?,形參?nèi)存的清理者,更多相關(guān)需要的小伙伴可以參考下文詳情介紹
    2022-07-07
  • 算法之排序算法的算法思想和使用場(chǎng)景總結(jié)

    算法之排序算法的算法思想和使用場(chǎng)景總結(jié)

    這篇文章主要介紹了算法之排序算法的算法思想和使用場(chǎng)景總結(jié),本文講解了插入排序、交換排序、選擇排序等幾大類(lèi)排序算法的特點(diǎn)、思想和使用場(chǎng)景,需要的朋友可以參考下
    2014-08-08
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易文本編譯器

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易文本編譯器

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易文本編譯器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了c語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 深入剖析OpenMP鎖的原理與實(shí)現(xiàn)

    深入剖析OpenMP鎖的原理與實(shí)現(xiàn)

    在本篇文章當(dāng)中主要給大家介紹一下?OpenMP?當(dāng)中經(jīng)常使用到的鎖并且仔細(xì)分析它其中的內(nèi)部原理!文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-01-01
  • c++關(guān)鍵字const的用法詳解

    c++關(guān)鍵字const的用法詳解

    在類(lèi)中,如果你不希望某些數(shù)據(jù)被修改,可以使用const關(guān)鍵字加以限定。const 可以用來(lái)修飾成員變量、成員函數(shù)以及對(duì)象,希望能夠給你帶來(lái)幫助
    2021-09-09
  • 利用C語(yǔ)言實(shí)踐OOP,以及new,delete的深入分析

    利用C語(yǔ)言實(shí)踐OOP,以及new,delete的深入分析

    本篇文章是對(duì)用C語(yǔ)言實(shí)踐OOP,new,delete進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 利用QT設(shè)計(jì)秒表功能

    利用QT設(shè)計(jì)秒表功能

    這篇文章主要為大家詳細(xì)介紹了利用QT設(shè)計(jì)秒表功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評(píng)論

皋兰县| 灵丘县| 东阳市| 介休市| 新余市| 象州县| 郯城县| 墨脱县| 武乡县| 牙克石市| 景泰县| 永嘉县| 县级市| 同德县| 蒙自县| 耿马| 浑源县| 句容市| 巨鹿县| 望奎县| 黄冈市| 嵊州市| 五指山市| 无锡市| 临安市| 曲沃县| 安丘市| 绥滨县| 会同县| 错那县| 治多县| 南开区| 商南县| 定结县| 临城县| 汉寿县| 内江市| 靖远县| 定边县| 巴青县| 南华县|