有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 (简单编程)

主要是用strcpy和strncpy,以下是源代码

#include
#include

void swap(char *p,int m)
{    
    char b[100];

    strcpy(b,p);      //把p的内容复制到b中
    strncpy(p,b+(strlen(b)-m),m);  //选择性把b的内容复制到p中
    strncpy(p+m,b,strlen(b)-m);    //选择性把b的内容复制到p中
}

void main()
{

    int n;
    char a[100];
    printf("请输入一个字符串:");
    gets(a);
    printf("向后移动位置:");
    scanf("%d",&n);
    swap(a,n);
    printf("向后移动%d位后:",n);
    puts(a);
}

 

你可能感兴趣的:(有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 (简单编程))