C语言练习题之字符数组求子串案例代码

题目描述

应用字符数组存储从键盘输入一行字符(100个以内),用户输入整数i和n的值,编写算法输出该字符串中从第i个字符开始的n个字符。

提示:若i<1则认为i=1,若字符串剩余的字符不够n个则输出剩余的全部字符。

输入格式:

第一行输入一行字符(字符个数小于100)。

第二行输入2个整数,以空格间隔,第1个数为i的值,第2个数为n的值。

输出格式:

输出该字符串中从第i个字符开始的n个字符。

输入样例:

I love China!
8 8

输出样例:

China!

案例代码

#include <stdio.h>
#include <string.h>

int main() {
    char str[100];
    int i, n;
    
    // 输入一行字符
    gets(str);
    
    // 输入i和n的值
    scanf("%d %d", &i, &n);
    
    // 如果i小于1,则设置i为1
    if (i < 1) {
        i = 1;
    }
    
    // 如果字符串剩余的字符不够n个,则输出剩余的全部字符
    if (i + n > strlen(str)) {
        n = strlen(str) - i + 1;
    }
    
    // 输出从第i个字符开始的n个字符
    for (int j = i - 1; j < i - 1 + n; j++) {
        printf("%c", str[j]);
    }
    
    return 0;
}

效果截图

图片[1]-C语言练习题之字符数组求子串案例代码-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享