每天一道程式設計題 陣列元素迴圈右移問題

2021-07-24 18:46:59 字數 1058 閱讀 1213

題目摘自:

- (浙大pta)

乙個陣列

a 中存有n(

>0)

個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m(

≥0) 個位置,即將

a 中的資料由(a

0a1⋯

an−1

​​)變換為(a

n−m⋯

an−1

a0a1

⋯an−

m−1)

(最後m 個數迴圈移至最前面的

m個位置)。如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?

輸入格式:

每個輸入包含乙個測試用例,第1行輸入n(

1≤n≤

100)

和m(≥

0);第2行輸入

n 個整數,之間用空格分隔。

輸出格式:

在一行中輸出迴圈右移mmm位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。

輸入樣例:

6 2

1 2 3 4 5 6

輸出樣例:

5 6 1 2 3 4

**如下:

#include

int main()

; scanf("%d

%d",&n,&m);

for(i=0;i"%d",&a[i]);

for(j=0;j1];

for(i=n-2;i>=0;i--)

a[0]=t;

}for(i=0;iif(i1)

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

else

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

}//printf("\n");

return

0;}

沒有注意到輸出格式,提交了n次都是格式錯誤。。。浪費了n個小時,好氣啊!!!!

在網上也看到了更好的演算法,還需要繼續學習。

每天一道程式設計題 3

1.編寫乙個shell指令碼,從鍵盤讀入10個數,顯示最大值和最小值。bin sh echo enter your number read input max input min input for i in seq 2 10 do read a if echo a awk v b max eq 1...

每天一道程式設計題 6

1.掃瞄當前目錄下所有.txt結尾的檔案,但每次列出10個檔案,提示是否要刪除這10個檔案。若選擇不是則不刪除,並繼續顯示下10個檔案詢問提示。若選擇是則刪除,並繼續顯示下10個檔案詢問提示。bin sh pwd data0 test count 0 for i in ls data0 test t...

每天一道演算法題 迴圈移動

華為oj上的題,始終有乙個test沒過,不知道為什麼 也考慮移動次數為負值,大於10,0,10這些邊界情況了。只是一直沒有移動陣列,因為只是需要輸出嘛。include using namespace std intmain int step 0 cin step 向前移動,先輸出後m個和,再輸出前m...