[山东科技大学OJ]2618 Problem E: 截取字符串

 

Time Limit: 1 Sec  Memory Limit: 2 MB
Submit: 1910  Solved: 360
[Submit][Status]

Description

对给定的一个字符串,截取其中一部分输出。

 

Input

输入为两行,第一行为一个字符串s,长度至少为1且不超过20个字符;第二行为两个整数p、q,满足p<=q。

 

Output

输出s中下标从p到q的那部分,且p或q在s下标范围外的部分不会产生输出。若s[p]到s[q]不产生任何输出,则仅输出“[]”。

 

Sample Input

communication -10 10

Sample Output

[communicati]

HINT

 

Append Code

[Submit][Status]


#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

{

    char s[25];

    int p,q,l,i;

    gets(s);

    scanf("%d %d",&p,&q);

    l=strlen(s);

    if(q<0||p>l-1)

        printf("[]");

    else if(p<0&&q<l)

    {

        printf("[");

    for(i=0;i<=q;i++)

    {

        printf("%c",s[i]);

    }

    printf("]");

    }

    else if(q>l-1&&p>=0)

    {

        printf("[");

    for(i=p;i<l;i++)

    {

        printf("%c",s[i]);

    }

    printf("]");

    }

    else

    {

        printf("[");

    for(i=p;i<=q;i++)

    {

        printf("%c",s[i]);

    }

    printf("]");

    }

    return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值