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。 展开
 我来答
野人马
2020-05-18 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:147
采纳率:43%
帮助的人:65.4万
展开全部

#include<stdio.h>

int a[200];

void rotateArray(int *a,int n,int m){

m%=n;   //这句是防止m大于n 结果会不正确的情况

for(int i=m;i<n;++i)scanf("%d",&a[i]);

for(int i=0;i<m;++i)scanf("%d",&a[i]);


}

int main(){

int n,m;

scanf("%d%d",&n,&m);

rotateArray(a,n,m);

printf("%d",a[0]);

for(int i=1;i<n;++i)printf(",%d",a[i]);

return 0;

}

听不清啊
高粉答主

2020-05-18 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include <stdio.h>

void rotateArray(int *a,int m, int n)

{int i,j,t;

 for(i=0;i<n;i++)

 {t=a[m-1];

  for(j=m-1;j>0;j--)

    a[j]=a[j-1];

  a[0]=t;  

 }

}

int main()

{ int i,m,n,a[100];

  scanf("%d%d",&m,&n);

  for(i=0;i<m;i++)

    scanf("%d",&a[i]);

  rotateArray(a, m,n);

  for(i=0; i<10; i++)

    printf("%d ",a[i]);

  printf("\n");

}

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
2020-05-19 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3631万
展开全部

#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");

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2020-05-18 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
#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]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式