C语言指针编程题,求助大神解答
编写函数voidrotateArray(int*a,intm.intn),其功能是将包含m个元索的整型数组a中的元素顺序移动.使其前面各数顺序向后移n个位置,最后n个数变...
编写函数void rotateArray(int *a,int m. int n),其功能是将包含m个元索的整型数组a中的元素顺序移动.使其前面各数顺序向后移n个位置,最后n个数变成最前面的n个数。例如,原数组中的数据为1,2,3,4.5,6.7,8,9,0,顺序移动3个位置的结果是8,9,0,1,2,3,4,5,6,7。
展开
4个回答
展开全部
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void f(int *a,int n) { int i,k; k=a[n-1]; for ( i=0;i<n-1;i++ ) a[n-i-1]=a[n-i-2]; a[0]=k; }
void rotateArray(int *a,int m,int n) { int i; for ( i=0;i<n;i++ ) f(a,m); }
#define N 10
void main() { int a[N],i,n;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
scanf("%d",&n);
rotateArray(a,N,n);
for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void rotateArray(int *a,int m, int n) {
int i,t,j;
for(j=0; j<n; j++) {
t=a[0];
for(i=m-1; i>0; i--)
if(i==m-1) a[0]=a[m-1];
else a[i+1]=a[i];
a[1]=t;
}
}
int main() {
int a[10]= {1,2,3,4,5,6,7,8,9,0},i;
rotateArray(a,10,3);
for(i=0; i<10; i++) printf("%-4d",a[i]);
}
void rotateArray(int *a,int m, int n) {
int i,t,j;
for(j=0; j<n; j++) {
t=a[0];
for(i=m-1; i>0; i--)
if(i==m-1) a[0]=a[m-1];
else a[i+1]=a[i];
a[1]=t;
}
}
int main() {
int a[10]= {1,2,3,4,5,6,7,8,9,0},i;
rotateArray(a,10,3);
for(i=0; i<10; i++) printf("%-4d",a[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询