新手拜托大家看一看,这哪里出问题了?
//题目:有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; }