7-68 數組元素移動 (5分)


7-68 數組元素移動 (5分)
 

完成數組元素的移動功能:假設數組有n個元素,輸入一個數x,把數組的第x個位置的元素先保存起來,然后把x+1到n的元素,依次往前移一位,最后將原來的第x個位置的元素放在數組的最后。 重復若干次這樣的移動,得到最后的結果。

輸入格式:

第一行包括一個整數n(1<=n<=100),表示數組元素的個數。 第二行輸入n個數組元素,均為整數,用空格隔開。 第三行輸入一個數k(1<=k<=100),表示要進行k次移動。 接下來k行,每行一個數x,表示要移動第x個元素。

輸出格式:

輸出經過k次移動后的數組,每兩個元素之間用空格隔開。

輸入樣例:

10
1 2 3 4 5 6 7 8 9 10
4
4
3
2
5
 

輸出樣例:

1 5 6 7 9 10 4 3 2 8 


#include<stdio.h>
int main()
{
 int n;
 scanf("%d",&n);
 int i;
 int a[n];
 for(i=0;i<n;i++)
 scanf("%d",a+i);
 int k;
 scanf("%d",&k);
 int temp;
 int m;
 int j;
 for(i=0;i<k;i++)
 {
  scanf("%d",&m);
  temp=a[m-1];
  for(j=m;j<n;j++)
  {
   a[j-1]=a[j];
  }
  a[n-1]=temp;
  
 }
 for(i=0;i<n;i++)
 if(i!=n-1)
 printf("%d ",a[i]);
 else
 printf("%d\n",a[i]);
 return 0;
 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM