c语言 循环左移

【问题描述】输入10个整数(存入数组a),再输入整数x;要求编写函数实现将该数组元素向左移x个位置后循环输出。要求在主函数中输入a数组,并输出最后的结果,在被调函数中实现循环左移x个位置。

【输入形式】输入10个整数(存入数组a),再输入整数x。

【输出形式】循环左移x个位置后的数组。

【样例输入】(下划线部分为键盘输入,其余部分为程序输出)

Enter 10 integers: 1 2 3 4 5 6 7 8 9 0

Enter x: 3

【样例输出】

After Circle left shift 3 bit: 4 5 6 7 8 9 0 1 2 3

第1个回答  2017-05-18
#include<stdio.h>
#define N 10
void fun(int *a,int n,int x) { int i,j,k;
for ( i=0;i<x;i++ ) { k=a[0]; for ( j=0;j<n-1;j++ ) a[j]=a[j+1]; a[n-1]=k; }
}
void main() { int a[N],i,x;
printf("Enter %d integers: ",N); for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
printf("Enter x: "); scanf("%d",&x);
fun(a,N,x);
printf("After Circle left shift %d bit: ",x); for ( i=0;i<N;i++ ) printf("%d ",a[i]);
printf("\n");
}本回答被提问者和网友采纳