标题:Output Limit Exceeded的一道题,求帮忙要怎么解决
只看楼主
x三生石x
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2018-10-27
结帖率:70%
已结贴  问题点数:20 回复次数:6 
Output Limit Exceeded的一道题,求帮忙要怎么解决
题目挺简单的,我用函数strncpy去做,但是一直是Output Limit Exceeded,自己找不出哪个地方出问题了,求大家帮忙看看。

题如下:
给出一个字符串s;给出两个整数 x, y ,请你截取从字符串的第 x 个字符开始,长度为y的子串。

如果 x+y > s的长度,则接着从头开始取下去。约定:字符串首字符的位置是0

Input
有多个测试用例。每个测试用例占2行。

第一行是一个字符串s,长度不超过10万。

第二行是两个整数 x 和 y ,表示从第 x 个位置开始取 y 个字符,0 ≤x,y ≤ s的长度。

Output
为每个测试用例单独输出一行结果:取得的子串。如果无法取得长度 > 0 的子串,输出 none

Sample Input:
abcde
3 3
0123456789
7 3
Sample Output:
dea
789

代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
    char a[100000];
    int x,y,t;
    while(scanf("%s",&a)!=EOF)
    {
        char b[100000]={},c[100000]={};
        scanf("%d%d",&x,&y);
        if(y<=0)
            printf("none\n");
        else{
            t=strlen(a);
            if(x+y<=t){
            strncpy( b , a+x ,y );
            puts(b);}
            else{
            strncpy( b , a + x , y );
            strncpy( c,a , y - ( t - x) );
            printf("%s",b);
            printf("%s\n",c);
            }
        }
    }
    return 0;
}



搜索更多相关主题的帖子: Output Limit 字符串 长度 子串 
2019-01-19 00:01
x三生石x
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2018-10-27
得分:0 
有人帮忙看看吗
2019-01-19 08:44
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:368
专家分:1087
注 册:2018-5-7
得分:10 
没语法错误么
2019-01-19 11:13
x三生石x
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2018-10-27
得分:0 
回复 3楼 豆豆的滴
没有吧,自己运行也没毛病
2019-01-19 14:44
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:10 
你数组开10W不太好,开100005吧,多开几个。
我测试了一下,控制台输入10W的字符串,运行会报错。我机器上实际只读进来4094个字符。strncpy超过这个数字就会运行错误。
改为文件输入可以正常运行,读入10W字符,输出一大堆。
oj都是文件输入的吧,应该不会有问题才对。

saber,别哭.
2019-01-19 15:20
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:0 
对了,题目说的是一行,,scanf遇到空白字符就会停下来。不一定读完了一整行。
用gets可以读入空白字符。

saber,别哭.
2019-01-19 15:43
x三生石x
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2018-10-27
得分:0 
回复 6楼 幻紫灵心
谢谢解答,我试试看
2019-01-21 16:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492751-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.953531 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved