N个正整数,使前面各数顺序后移M个位置,最后M个数移到前面,求改程序#include#includeint main(){int n,*p,*a,*q,m,i;scanf("%d",&n);scanf("%d",&m);p=(int *)malloc(n*sizeof(int));a=p;for(i=0;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 11:31:01

N个正整数,使前面各数顺序后移M个位置,最后M个数移到前面,求改程序#include#includeint main(){int n,*p,*a,*q,m,i;scanf("%d",&n);scanf("%d",&m);p=(int *)malloc(n*sizeof(int));a=p;for(i=0;i
N个正整数,使前面各数顺序后移M个位置,最后M个数移到前面,求改程序
#include
#include
int main()
{
int n,*p,*a,*q,m,i;
scanf("%d",&n);
scanf("%d",&m);
p=(int *)malloc(n*sizeof(int));
a=p;
for(i=0;i

N个正整数,使前面各数顺序后移M个位置,最后M个数移到前面,求改程序#include#includeint main(){int n,*p,*a,*q,m,i;scanf("%d",&n);scanf("%d",&m);p=(int *)malloc(n*sizeof(int));a=p;for(i=0;i
你先开了一个n的空间,那么只能用这n个大小的空间,这样的话就要通过空间内数值内容的交换来达成.
你不想用内容交换来达成的话,就要用链表的数据结构,但是这样的话,就不能用p+m这种简单的方法来得到后面第m个位置
不然的话你可以开一个n*2的空间,放1-n的数后面再放1-n的数,这样的话你就可以像你这样做了.
#include
#include
int main()
{
int n,*p,*a,*q,m,i;
scanf("%d",&n);
scanf("%d",&m);
p=(int *)malloc(2*n*sizeof(int));
a=p;
for(i=0;i