C语言数组的左移函数
发布网友
发布时间:2022-04-20 06:16
我来回答
共3个回答
热心网友
时间:2023-09-19 09:13
//下面是将数组左移的函数void fun(char *a, int *length)//length为字符串a的长度{ for(int i = 0; i < length - 2; i++) { a[i] = a[i+2]; }*length = (*length) - 2; } //如果只是输出左移两位的结果,可以用下面这个函数void fun(char *a, int length){ for(int i =2; i < length; i++) { printf("%c",a[i]); }}
热心网友
时间:2023-09-19 09:13
//用一个循环就可以实现数组的循环左移:
int i,n,m;//temp表示左移位数
int a[n];
for(i=0;i<n-m;i++)a[i]=a[i+m];//此时的数组个数为n-m
热心网友
时间:2023-09-19 09:14
#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");
}