description
將乙個一維陣列向右或者向左進行迴圈移位。
input
輸入為多行。第一行是m>0,表示之後有m組資料作為輸入。
之後的m行,每一行的第乙個整數0<=n<=10,表示輸入的陣列有n個元素;如果n>0,則該行的第二個整數r是乙個有效的int型別的數值,表示迴圈移位的位數。之後有n個int型別的整數作為一維陣列的元素(如果n>0的話),每2個元素之間用乙個空格隔開。如果n=0,則該行只有乙個資料「0」,表示這是乙個空陣列。
output
輸出有m行,與上述輸入的m行資料一一對應。
如果n=0,則輸出乙個空行。
如果n>0,r>0,則表示迴圈右移r個數;否則,若n>0,r<0,表示迴圈左移r個數;若n>0,r=0,表示不移動。
當n>0時,輸出的資料中,兩兩之間用乙個空格隔開。
sample input
35 1 10 9 8 7 6
04 -2 100 200 300 400
sample output
6 10 9 8 7
300 400 100 200
hint
#includeint main()
if(n == 0)
printf("\n");
else
printf("%d",a[0]);
for(j = 1; j < n; j++)
printf(" %d",a[j]);
printf("\n");}}
return 0;
}
實驗8 1 7 陣列迴圈右移
兩種方法 方法一 此方法要開闢乙個新空間來存放陣列 int arrayshift int a,int n,int m 方法二 此方法不用開闢新空間 void reverse int a,int left,int right left為陣列中第乙個元素的下標,right為陣列中最後乙個元素的下標。in...
山科 實驗 Problem A 求最大值和最小值
求出一些整數中的最大值和最小值。輸入為多行,以eof結束。每行為乙個十進位制的數字,全部由0 9組成,每行最長不超過1000個字元。有些數字會以0開頭 不影響數值大小的前導0 輸出為輸入中的最大值和最小值,格式見sample。02010 0012 01223 the maximum value is...
實驗8 1 7 陣列迴圈右移 20分
本題要求實現乙個對陣列進行迴圈右移的簡單函式 乙個陣列a中存有n 0 個整數,將每個整數迴圈向右移m 0 個位置,即將a中的資料由 a 0 a 1 a n 1 變換為 a n m a n 1 a 0 a 1 a n m 1 最後m個數迴圈移至最前面的m個位置 int arrayshift int a...