新手拜托大家看一看,这哪里出问题了?
//题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数???
程序代码:#include<stdio.h>
#include<stdlib.h>
int main()
{
int *a,n,m,i,x;
printf("请输入数组大小:");
scanf("%d",&n);
a=(int*)malloc(sizeof(int)*n);//数组空间大小
printf("请输入输入整数的个数:");
scanf("%d",&x);
for(i=0;i<x;i++){
scanf("%d",&a[i]);
}
printf("请输入向后移动的个数(不许加起字符数不超过数组空间大小):");
scanf("%d",&m);
for(i=m;i<m+x;i++){
a[i]=a[i-m];
}//向后移动m位后,元素变化了位置
for(i=m;i<x+m;i++){
printf("%d",a[i]);
}
printf("\n");
int j=0;
for(i=m+m-1;i>m-1;i--){
a[m+x-j-1]=a[i];
j++;
}//最后m个数变成最前面的m个数
printf("变之后:");
for(i=m;i<m+x;i++){
printf("%d",a[i]);
}
return 0;
}









