赞
踩
本文用C语言来实现数组的旋转(右旋)
若有一数组值为:1 2 3 4 5,则其旋转效果为:
//数组旋转 #include<stdio.h> #include<stdlib.h> #include<time.h> #define N 10 //旋转数组 void rotate(int arr[], int sz, int n) //两个临时变量 { for (int i = 0; i < n%sz; i++)//旋转次数 { int a = arr[sz - 1]; for (int j = 0; j < sz; j++) { int temp = arr[j]; arr[j] = a; a = temp; } } } //随机初始化数组 void Initarr(int arr[],int a) { srand((unsigned)time(NULL)); printf("随机初始化数组共%d个数(范围是0~100).\n", a); for (int i = 0; i < a; i++) { arr[i] = rand() % 100; printf("%d ", arr[i]); } printf("\n"); } int main() { int n = 0; int arr[N]; Initarr(arr,N); printf("请输入要旋转的次数:\n"); scanf_s("%d", &n);//VS编译器scanf——>scanf_s rotate(arr, N,n); printf("旋转结果:\n"); for (int j = 0; j <N; ++j) { printf("%d ", arr[j]); } return 0; }
以上就是本文的所有内容。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。