『西工大-数据结构-NOJ』 011-循环右移(耿5.2) 『西北工业大学』

    技术2025-01-02  22

    解题思路:

    这道题要求对于一个数组进行循环移位操作,讲真这是我在这门课的NOJ中遇到的我认为最简单的一个题了。 没啥需要考虑的思路,输入数组,for循环进行k次右移,输出数组就OK了。 具体操作见代码,代码中有部分注释。

    题解代码:

    #include<stdio.h> #include<stdlib.h> void CreatArray(int a[], int n){ for(int i=0;i<n;i++){ scanf("%d",&a[i]); } } void RightShift(int a[], int n, int k){ int temp; for(int i=0;i<k;i++){ temp = a[n-1]; for(int j=n-1;j>0;j--){ a[j] = a[j-1]; } a[0] = temp; } } void PrintArray(int a[], int n){ for(int i=0;i<n;i++){ printf("%d ",a[i]); } } int main(){ int a[100]={0},n,k; scanf("%d %d",&n,&k); CreatArray(a,n); RightShift(a,n,k); PrintArray(a,n); return 0; }
    Processed: 0.009, SQL: 9