C語言經典例68 陣列元素迴圈偏移

2021-10-02 22:01:23 字數 1047 閱讀 7775

有 n個整數,使其前面各數順序向後移 m 個位置,最後m個數變成最前面的 m 個數。

假設n的值為10即陣列arr大小為10,單獨觀察一次偏移的過程,可以發現就是事先把最後乙個值arr[9]用臨時變數t暫存起來,然後將整個陣列向後移位一次,此時再將暫存的arr[9]賦值給arr[0],這樣就完成了一次偏移,那麼一共要偏移m次,就將迴圈執行m次即可。

#include

#define n 10

// 假定陣列大小為10

intmain()

;int m;

int i;

// 迴圈控制變數

int j;

// 迴圈控制變數

int t;

// 臨時變數

printf

("請輸入偏移量m的值:"

,&m)

;scanf

("%d"

,&m)

;for

(i =

0; i < m; i++

) arr[0]

= t;

// 將暫存的最後乙個元素儲存在第乙個位置

}// 輸出陣列

for(i =

0; i < n; i++

)}

ps e:\c++workspace> cd "e:\c++workspace\" ;

if($?);

if($?

)請輸入偏移量m的值:289

0123

4567

ps e:\c++workspace> cd "e:\c++workspace\" ;

if($?);

if($?

)請輸入偏移量m的值:556

7890

1234

C語言經典例程 經典c程式2例

前言 this article mainly introduces the classical routine of c language,2 cases of classical c program.friends who study c language can refer to it.程式1 ...

(C語言)PAT乙等1008陣列元素迴圈右移問題

一 題目 乙個陣列a中存有n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m 0 個位置。如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?輸入格式 每個輸入包含乙個測試用例,第1行輸入n 1 n 100 和m 0 第2行輸入n個整數,之間用空格分隔。輸出格式 在一行中輸...

C語言經典100例 002

企業發放的獎金根據利潤提成.利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬之間時...