C 语言数组元素右旋程序

编写一个C程序,使用 for 循环和函数将数组元素右旋给定的次数。

使用 for 循环的 C 语言数组元素右旋程序

此示例允许用户输入数组大小、元素以及需要向右旋转的次数。接下来,我们使用一个嵌套的 for 循环,借助一个临时变量来移动数组元素。

#include<stdio.h>

void PrintArray(int a[], int Size) 
{		
 	for(int i = 0; i < Size; i++)  	
    {
        printf("%d  ", a[i]);
    }
    printf("\n");
} 

int main()
{
    int size, i, j, a[10], num, temp;

    printf("Please Enter Size of the Rotate Array = ");
    scanf("%d", &size);

    printf("Please Enter the Rotate Array Elements = ");
    for(i = 0; i < size; i++) {
        scanf("%d", &a[i]);
    }
    
    printf("Number of Times Right Rotate an Array = ");
    scanf("%d", &num);

    for(i = 0; i < num; i++) 
    {
        temp = a[size - 1];
        for(j = size - 1; j > 0; j--)
        {
            a[j] = a[j - 1];
        }
        a[j] = temp;
    }
    
    printf("\nArray Elements After Right Rotating Array  :  ");
    PrintArray(a, size);
}
C Program to Right Rotate Array Elements

程序 使用函数将数组元素向右旋转给定的次数。

#include<stdio.h>

void PrintArray(int a[], int Size) 
{		
 	for(int i = 0; i < Size; i++)  	
    {
        printf("%d  ", a[i]);
    }
    printf("\n");
} 

void rightRotateArray(int a[], int size, int num)
{
    int i, j, temp;

    for(i = 0; i < num; i++) 
    {
        temp = a[size - 1];
        for(j = size - 1; j > 0; j--)
        {
            a[j] = a[j - 1];
        }
        a[j] = temp;
    }
}

int main()
{
    int size, i, a[10], num, temp;

    printf("Please Enter Size = ");
    scanf("%d", &size);

    printf("Please Enter the Elements = ");
    for(i = 0; i < size; i++) {
        scanf("%d", &a[i]);
    }
    
    printf("Number of Times Right Rotate an Array = ");
    scanf("%d", &num);
    
    rightRotateArray(a, size, num);
    
    printf("\nElements After Right Rotating Array  =  ");
    PrintArray(a, size);
    return 0;
}
Please Enter Size = 7
Please Enter the Elements = 10 20 30 40 50 60 70
Number of Times Right Rotate an Array = 5

Elements After Right Rotating Array  =  30  40  50  60  70  10  20