子系列(C语言)

题目描述:

在数学中,某个序列的子序列是从最初序列通过去除某些元素但不破环余下元素的相对位置(在前或在后)而形成的新序列。给定一个字符串s和整数k,将s划分成k个子系列,每个子系列的相邻元素在原来s中的下标差值正好为k。

输入:

仅一行,包含空格分开的字符串s和整数k。字符串s全部由大写字母构成,且长度不超过100.1<k<=min(10,strlen(s)).

输出:

依次输出s划分成的k个子系列,具体格式见样例

样例输入:

ABCDEFGH 3

样例输出

ADG
BEH
CF

源代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char ch[100];//存储输入的字符串
    int k=0;
    int len=0;
    scanf("%s",ch);//输入字符串
    scanf("%d",&k);//输入要分成K个子系列
    len=strlen(ch);
    printf("输入的字符串为:%s\n",ch);
    printf("要分裂的子序列数为:%d\n",k);
    printf("字符串长度为:%d\n",len);
    for(int i=0;i<k;i++){
        for(int j=i;j<len;j=j+k){
            printf("%c",ch[j]);
        }
        printf("\n");
    }
    return 0;
}

解题思路

1.输入数据
2.通过strlen函数求得字符串长度(注意要导入string.h库)
3.代码中关键是有个循环嵌套,外循环作用是要输入几个子序列(即输出几行),内循环则就是输出每个子序列(即每行中)的内容。
4.在内循环中,先确定子序列第一个要输出什么,显然第一个子序列要输出的的第一个字母就是字符串的第一个字母,第二个子序列要输出的第一个字母就是字符串中的第二个字母,以此类推。
5.由于题目要求“每个子系列的相邻元素在原来s中的下标差值正好为k。
”,所以内循环每次循环,j会加3

  • 3
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论
本书所附光盘跟目录下包含以下目录: ● C语言程序例程。该目录包括以下程序: ——AD程序实现模拟量到数字量的转换功能; ——CAN程序实现CAN总线通讯功能; ——keyboard_check程序实现键盘的扫描查询方式输入; ——keyboard_disturb程序实现PORTB的"电平变化中断"进行键盘的输入; ——led0-8程序实现在8个LED上依次显示1~8数字; ——PWM程序用于使CCP1模块产生分辨率为10位的PWM波形,占空比为50%; ——RS-232程序通过RS-232接口来完成PC计算机与单片机之间的通信; ——simple_POARD程序为外围功能模块简单应用实例,点亮与PORTD口相连的八个发光二极管; ——stopwatch程序实现计时秒表功能,时钟显示范围00.00~99.99秒,分辨度为0.01秒; ——switchinput程序用于开关量的输入采用SPI总线,并显示在与D口相连的LED上; ——wakeup程序实现PIC18F458的休眠工作方式,并由实验板上的按键产生"电平变化中断"将其从休眠状态中激活; ——WDT程序实现"看门狗"WDT的功能; ——Yejing程序实现液晶显示器的接口和显示功能。 ● 汇编语言程序例程。该目录包括以下程序: ——AD程序实现模拟量到数字量的转换功能; ——CAN程序实现CAN总线通讯功能; ——CAN2程序是优化的程序,同样实现CAN总线通讯功能; ——keyboard_check程序实现键盘的扫描查询方式输入; ——keyboard_disturb程序实现PORTB的"电平变化中断"进行键盘的输入; ——led0-8程序实现在8个LED上依次显示1~8数字; ——PWM程序用于使CCP1模块产生分辨率为10位的PWM波形,占空比为50%; ——RS-232程序通过RS-232接口来完成PC计算机与单片机之间的通信; ——simple_POARD程序为外围功能模块简单应用实例,点亮与PORTD口相连的八个发光二极管; ——stopwatch程序实现计时秒表功能,时钟显示范围00.00~99.99秒,分辨度为0.01秒; ——switchinput程序用于开关量的输入采用SPI总线,并显示在与D口相连的LED上; ——wakeup程序实现PIC18F458的休眠工作方式,并由实验板上的按键产生"电平变化中断"将其从休眠状态中激活; ——WDT程序实现"看门狗"WDT的功能; ——Yejing程序实现液晶显示器的接口和显示功能。 ● MPLAB及C18安装使用简介。 ● 建立工程项目实例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论

打赏作者

沐林天释

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值