定义一个数组并赋初值:int a[10]={3,6,1,8,2,7,10,4,9,9},程序运行时输入一个整数n,要求输入的数在1-9之间。数组元素向右循环移动n个位置。如何输出数组,用函数完成。c语言
时间: 2024-05-05 20:18:06 浏览: 76
以下是代码实现:
```c
#include <stdio.h>
void shift(int a[], int n) // 定义函数shift,实现数组元素向右循环移动n个位置
{
int i, j, temp;
for (i = 0; i < n; i++) {
temp = a[9];
for (j = 8; j >= 0; j--) {
a[j+1] = a[j];
}
a[0] = temp;
}
}
int main()
{
int a[10] = {3, 6, 1, 8, 2, 7, 10, 4, 9, 9};
int n, i;
printf("请输入一个数(1-9之间):");
scanf("%d", &n); // 输入n
if (n < 1 || n > 9) { // 判断n是否在1-9之间
printf("输入错误!\n");
return 0;
}
shift(a, n); // 调用函数shift,将数组元素向右循环移动n个位置
printf("移动后的数组为:");
for (i = 0; i < 10; i++) {
printf("%d ", a[i]); // 输出移动后的数组
}
printf("\n");
return 0;
}
```
在程序运行时,先输入一个1-9之间的整数n,然后调用函数shift将数组元素向右循环移动n个位置,最后输出移动后的数组。
阅读全文