C语言:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输人n个整数和输出调整后的n个数。要求用指针方法处理!
C语言:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输人n个整数和输出调整后的n个数。要求用指针方法处理!
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见图8.43。 写一函数实现以上功能,在主函数中输人n个整数和输出调整后的n个数。
#include<stdio.h>
void move(int array[10],int n,int m)
{
int *p,end;
end=*(array+n-1);
for(p=array+n-1;p>array;p--)
*p=*(p-1);
*array=end;
m--;
if(m>0)
move(array,n,m);
}
int main()
{
int number[10],n,m,i;
printf("how many numbers?");
scanf("%d",&n);
printf("how many place you want move?");
scanf("%d",&m);
printf("input %d numbers:\n", n);
for(i=0;i<n;i++)
scanf("%d",&number[i]);
move(number,n,m);
printf("Now,they are:\n");
for(i=0;i<n;i++)
printf("%8d",number[i]);
printf("\n");
return 0;
}
运行结果:
C语言:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输人n个整数和输出调整后的n个数。要求用指针方法处理!