PTA 7-279 字符串输入输出练习

本篇介绍了一个简单的PTA编程练习题:从给定的字符串中输出指定位置和长度的子串。通过循环结构实现字符串截取,并考虑边界情况确保输出合理。

PTA 7-279 字符串输入输出练习

分数 10
作者 黄龙军
单位 绍兴文理学院

输入起始位置m、长度l及字符串s,要求输出字符串s从第m个字符开始的长度为l的子串。

输入格式:
测试数据有多组,处理到文件尾。
每组测试数据输入一行,首先是以一个空格间隔的两个整数m、l,分别表示起始位置和长度,然后在一个空格之后是一个字符串s(长度不超过80,可能包含空格)。测试数据保证取得的结果字符串至少包含一个字符。

输出格式:
对于每组测试,输出字符串s从第m个字符开始的长度为l的子串(若长度不足l,则只需输出从第m个字符开始到最后一个字符结束的子串)。每两组测试数据之间留一个空行。

输入样例:

1 2 hello world!
9 6 welcome to acm world

输出样例:

he

to acm

来源:
黄龙军, 等. 大学生程序设计竞赛入门—C/C++程序设计(微课视频版), 北京:清华大学出版社, 2020.11. ISBN:9787302564744

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

#include<stdio.h>
int main(){
    
    int m, l, i, j = 0;
    char s[80][80];
    char ss[80][80];
    
    while(scanf("%d %d", &m, &l) != EOF){    //处理到文件尾
            gets(s[j]);    //获取字符串
            for(i = m; i < m+l; i++){    //按照题目要求截取字符串并储存到另一个数组中
                ss[j][i-m] = s[j][i];
            }
            ss[j][l] = '\0';
            j++;
    }
    for(i = 0; i < j; i++){
        puts(ss[i]);
        if(i != j-1){    //换行处理
            printf("\n");
        }
    }
    return 0;
}

解题思路:
将符合题目要求的字符串储存另一个数组中,然后输出
注: 输出格式

归属知识点:
数组
循环结构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值