题目:有 n个整数,使其前面各数顺序向后移 m 个位置,最后m个数变成最前面的 m 个数。
#include <stdio.h>
int main()
{
int a[10]={0};
int i;
int b;
printf("请输入10个数的数组:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("请输入m:\n");
scanf("%d",&b);
gundong(a,10,b);
print_f(a,10);
return 0;
}
void gundong(int *s,int n,int m)
{
int c[10]={0};
int i;
for(i=0;i<10;i++)
c[i]=*(s+i);
for(i=0;i<m;i++){
*(s+i)=c[10-m+i];
}
for(i=0;i<=n-m;i++){
*(s+m+i)=c[i];
}
}
void print_f(int *s,int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",*(s+i));
}
运行结果: