| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1371 人关注过本帖
标题:帮忙看看这个程序问题出在哪
取消只看楼主 加入收藏
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
 问题点数:0 回复次数:3 
帮忙看看这个程序问题出在哪
我自己也做了测试,在较短长度的串中我尚没发现问题,但当提交上去后却总是wrong answer。看了半天没有思绪,还望高手帮忙
/*
题目描述:
给你一个字符串"abcdefg",循环左移两位得到"cdefgab",
循环右移两位得到"fgabcde"

输入:
多组测试数据,每组一行,第一个是int范围内的整数n,
表示要右移的位数,如果n是负数则表示要左移。接着后面
是一个串长小于10000000的字符串。
最后遇到EOF标志的时候结束。

输出:
输出移位后的字符串

样例输入:
2 abcdefg
-2 abcdefg

样例输出:
fgabcde
cdefgab

难度:for beginner
*/

#include <stdio.h>
#include <string.h>
#define MAX 10000000

char ch[MAX];
char *point;

int main()
{
    int n;

    while (scanf("%d %s",&n,ch)!=EOF)
        {
                point=ch;
                //getchar();

                if(n<0)
                {
                   n=(-1*n)%strlen(ch);
                   point+=n;
                   printf("%s",point);
                   *point='\0';
                   printf("%s\n",ch);                  
                }
                else
                {
                   n=n%strlen(ch);
                  
                   while (*(point+n))
                   {
                           point++;
                   }
        
                   printf("%s",point);
        
                   *point='\0';
        
                   while (point!=ch)
                   {
                           point--;
                   }
               printf("%s\n",point);
                }
        }

    return 0;  
}
搜索更多相关主题的帖子: abcdefg 字符串 wrong 
2007-12-03 15:01
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
但人家的题目就是“一个串长小于10000000的字符串”

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-12-03 18:18
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
现在的问题是,进行在线测试时,第一次测试可以通过,但第二次时就wrong answer
n=(-1*n)%strlen(ch); 为的是实现例如-100 abc 时输出bca,即数字大于串长的情况

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-12-03 18:59
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
但是我看了下别人的代码,他们并没有用malloc呀
也是直接
#define MAX 10000000
char ch[MAX]

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-12-03 21:12
快速回复:帮忙看看这个程序问题出在哪
数据加载中...
 
   



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

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