14. 请编写函数fun, 函数的功能是: 向右移动一维数组中的内容; 若数组中有n个整 数, 向右移动m次。 例如,

14. 请编写函数fun, 函数的功能是: 向右移动一维数组中的内容; 若数组中有n个整
数, 向右移动m次。
例如, 一维数组中的原始内容为: 1,2,3,4,5,6,7,8,9,10; m的值为3。移动后, 一维数组中的内容应为: 8,9,10,1,2,3,4,5,6,7。
给定源程序:
#include <stdio.h>
void fun(int *w, int n, int m)
{
}
void main( )
{ int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int i,m;
printf("The original data:\n");
for(i=0; i<15; i++) printf("%3d",a[i]);
printf("\n\nEnter m: ");scanf("%d",&m);
fun(a,15,m);
printf("\nThe data after moving:\n");
for(i=0; i<15; i++) printf("%3d",a[i]);
printf("\n\n");

}

void fun(int *w, int n, int m)
{
int i;
int j;
int temp;
for(i=0;i<m;i++) //移动m次。
{
temp = w[n-1]; //记录最后一个元素。
for(j=n-1;j>0;j--)
{
w[j] = w[j-1];
}
w[0] = temp;
}
}
温馨提示:答案为网友推荐,仅供参考