频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
一个字符串向右移问题
2017-06-24 11:10:51         来源:wood893278466的博客  
收藏   我要投稿

将一个字符串循环向右移问题。

这个问题很简单,但是笔者在写的时候一直在想怎么缩短到最精简代码。以下是我的代码

#include
#include
#include
void Move(char*,int);
void MOVE(char*,int);
void MOVE_TEST(char*,int);

int main(int argc,char argv[])
{
    char input[] = "abcdefghij";
    int num;
    scanf("%d",&num);
    Move(input,num);
    printf("\n");
    MOVE(input,num);
    printf("\n");
    MOVE_TEST(input,num);
    printf("\n");
 
    return 0;
}

void Move(char *sin,int n)
{
    int count = strlen(sin);
    int i = n%count;
    int j = i;
    int m = 0;
    while(i < count)
    {
        printf("%c",sin[i]);
        i++;
    }
    while(m < j)
    {
        printf("%c",sin[m]);
        m++;
    }
}

void MOVE(char *SIN,int N)
{
    int count = strlen(SIN);
    printf("%s",SIN + N % count);
    int number = N % count;
    while(number>0)
    {
        putchar(*SIN++);
        number--;
    }
}

void MOVE_TEST(char *SIN,int N)
{
    int count = strlen(SIN);
    printf("%s",SIN + N % count);
    *(SIN+N%count) = '\0';
    puts(SIN);
    //printf("%s",SIN);这里等于puts输出,但是没有换行。
}
点击复制链接 与好友分享!回本站首页
上一篇:maven简单演示
下一篇:tcp_socket绑定(bind)失败---Address already is use原因
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站