A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mahei521 中级黑马   /  2014-11-26 19:42  /  838 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

嘿嘿,本程序实现移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。不是很难,就是和大家分享下,一起学习!
#include <stdio.h>

#include <string.h>

#define N 80

void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */
{
        int i; char t;
       
        t=w[0];
       
        for(i=0;i<strlen(w)-1;i++)
                w[i]=w[i+1];
       
        w[strlen(w)-1]=t;
}

void fun(char *w, int m) /* 可调用fun1函数左移字符 */
{
        int i;
        for(i = 0 ; i < m ; i++)
                fun1(w);
}

int main()
{
        char a[N]= "ABCDEFGHIJK";
       
        int m;
       
        printf("The original string:\n");
       
        puts(a);
       
        printf("\n\nEnter m: ");
       
        scanf("%d",&m);
       
        fun(a,m);
       
        printf("\nThe string after moving:\n");
       
        puts(a);

        printf("\n");
       
        return 0;
}

评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

1 个回复

正序浏览
赞一个。支持一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马