潘小蓝


私信TA

用户名:13837241415

访问量:6681

签 名:

一生温暖纯良,不舍爱与自由

等  级
排  名 2410
经  验 2318
参赛次数 3
文章发表 10
年  龄 20
在职情况 学生
学  校 洛阳师范学院
专  业 软件工程

  自我简介:

简单明了!!!

#include<stdio.h>

int main()

{

void Mobile(int *array,int n,int m);//声明函数 

int n,m;

int i;

scanf("%d",&n);//输入要输入几个数 

int a[n];//在c中,使用变量定义数组长度时,这个数组可以定义,却不能同时进行初始化赋值,需要在之后赋值 

for(i=0;i<n;i++){//加上关键词const便可以,变长数组 

scanf("%d",&a[i]);

}

scanf("%d",&m);//输入要移动的个数 

Mobile(a,n,m);//调用函数 

for(i=0;i<n;i++){//输出移动后的数 

printf("%d ",a[i]);

}

return 0;

 } 

 void Mobile(int *array,int n,int m){

  int i,j;

  int sum[n];

  for(i=0,j=0;i<n;i++,j++){

  if(i+m>=n){//先判断范围是否超限,若超限,则存放在开头,依次类推 

  sum[j+m-n]=array[i];

}//将移动后的数存放在一个新数组中 

else{//若未超限,则新数组下标加上移动的步长便是旧数组的元素的值 

   sum[j+m]=array[i];

}

}

for(i=0,j=0;i<n;i++,j++){

array[i]=sum[j];//将新数组的每个值弄回的原数组 

}

 }


 

0.0分

0 人评分

  评论区

  • «
  • »