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

『西工大-数据结构-NOJ』 011-循环右移(耿5.2) 『西北工业大学』_第1张图片
『西工大-数据结构-NOJ』 011-循环右移(耿5.2) 『西北工业大学』_第2张图片

解题思路:

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

题解代码:

#include
#include

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;
}

你可能感兴趣的:(『西工大-数据结构-NOJ』,西北工业大学,数据结构,noj答案,c语言,算法)