1008 数组元素循环右移问题 (20)
生活随笔
收集整理的這篇文章主要介紹了
1008 数组元素循环右移问题 (20)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一個(gè)數(shù)組A中存有N(N>0)個(gè)整數(shù),在不允許使用另外數(shù)組的前提下,將每個(gè)整數(shù)循環(huán)向右移M(M>=0)個(gè)位置,即將A中的數(shù)據(jù)由(A~0~ A~1~……A~N-1~)變換為(A~N-M~ …… A~N-1~ A~0~ A~1~……A~N-M-1~)(最后M個(gè)數(shù)循環(huán)移至最前面的M個(gè)位置)。如果需要考慮程序移動(dòng)數(shù)據(jù)的次數(shù)盡量少,要如何設(shè)計(jì)移動(dòng)的方法?
輸入格式:每個(gè)輸入包含一個(gè)測試用例,第1行輸入N ( 1<=N<=100)、M(M>=0);第2行輸入N個(gè)整數(shù),之間用空格分隔。
輸出格式:在一行中輸出循環(huán)右移M位以后的整數(shù)序列,之間用空格分隔,序列結(jié)尾不能有多余空格。
輸入樣例:
6 2 1 2 3 4 5 6輸出樣例:
5 6 1 2 3 4 #include<stdio.h> main() {int i,j,k,x,n;int a[100];scanf("%d %d",&n,&k);//n是數(shù)組個(gè)數(shù),k是移動(dòng)個(gè)數(shù)for(i=0;i<n;i++)scanf("%d",&a[i]); while(k){x=a[i-1];for(j=i-1;j>0;j--){ a[j]=a[j-1]; }a[0]=x;k--;}printf("%d",a[0]);for(i=1;i<n;i++){printf(" %d",a[i]);} }?
轉(zhuǎn)載于:https://www.cnblogs.com/wanghao-boke/p/9360601.html
總結(jié)
以上是生活随笔為你收集整理的1008 数组元素循环右移问题 (20)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原神阿部采蘑菇任务怎么完成
- 下一篇: 1059 Prime Factors(2