PAT (Basic Level) Practice 1008 數組元素迴圈右移問題

來源:互聯網
上載者:User

標籤:eset   如何   數組元素   line   位置   include   family   col   整數   

個人練習

 

一個數組A中存有N(>)個整數,在不允許使用另外數組的前提下,將每個整數迴圈向右移M(≥)個位置,即將A中的資料由(A?0??A?1???A?N?1??)變換為(A?N?M???A?N?1??A?0??A?1???A?N?M?1??)(最後M個數迴圈移至最前面的M個位置)。如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?

輸入格式:

每個輸入包含一個測試案例,第1行輸入N(1)和M(≥);第2行輸入N個整數,之間用空格分隔。

輸出格式:

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

 

輸入範例:
6 21 2 3 4 5 6
輸出範例:
5 6 1 2 3 4
思路:根據間隔分成兩段列印。

#include <stdio.h>int main () {    int n,m;    int arr[100];      scanf("%d%d", &n, &m);    m = m % n;     for (int i=1; i<=n; i++)    {        scanf("%d", &arr[i]);    }    for (int i=n-m+1; i<=n; i++)    {        printf("%d ", arr[i]);    }    for (int i=1; i<=n-m; i++)    {        printf("%d", arr[i]);        if (i == (n - m))        {            printf("\n");            break;        }        printf(" ");    }    return 0;}

 

 

PAT (Basic Level) Practice 1008 數組元素迴圈右移問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.