编写一个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);
}

此 程序 使用函数将数组元素向右旋转给定的次数。
#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