有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。

来源:互联网 发布:广告配音制作软件 编辑:程序博客网 时间:2024/05/29 16:44
#include<stdio.h>#define X 10int c[X];int *f(int n,int m,int *p){    int i,b[X];    for(i=0;i<m;i++)//取出数组a后面m位放入新数组b      b[i]=*(p+n-m+i);    for(i=0;i<m;i++)      c[i]=b[i];//开辟新数组c,前半部分存数组b中m个值    for(i=0;i<n-m;i++)      c[m+i]=*(p+i);//数组c后半部分存数组a的前n—m部分元素    return c;}int main(){    int i,a[X],n,m;    scanf("%d",&n);    for(i=0;i<n;i++)      scanf("%d",&a[i]);    scanf("%d",&m);    f(n,m,a);    for(i=0;i<n;i++)      printf("%d ",c[i]);    return 0;}

样例如下:


0 0