首页 > 试题广场 >

输出指定长度子串

[编程题]输出指定长度子串
  • 热度指数:5932 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一个字符串,输出所有指定长度为n的子串,没有则输出-1

输入描述:
输入第一行一个字符串,如:“1234567890”

输入第二行一个数字是n,如5


输出描述:
输出所有长度为n的子串,如“12345”,“23456”,“34567”,“45678”,“56789”
示例1

输入

123456789
5

输出

12345 23456 34567 45678 56789
#include<stdio.h>
#include<string.h>
void printstring(char* str, int n) {
    int len = strlen(str);
    if(n<0)
        printf("-1\n");
    else if (len < n) {
        printf("-1\n");
    } else {
        for (int i = 0; i <=len - n; i++) {
            for (int j = 0; j < n; j++) {
                printf("%c", str[i + j]);
            }
            printf(" ");
        }
        printf("\n");
    }
}
int main() {
    char str[1000000000];
    scanf("%s", str);
    int n = 0;
    scanf("%d", &n);
    printstring(str, n);
    return 0;
}
编辑于 2024-02-16 19:45:40 回复(0)