c语言程序编写:数组元素移动

*7.8数组元素移动成绩:100/折扣:0.8请编写函数fun,函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p,p小于等于n-1)的数组... * 7.8数组元素移动
成绩: 100 / 折扣: 0.8
请编写函数fun, 函数的功能是: 移动一维数组中的内容; 若数组中有n个整数, 要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。 例如, 一维数组中的原始内容为: 1,2,3,4,5,6,7,8,9,10; p的值为3。移动后, 一维数组中的内容应为: 5,6,7,8,9,10,1,2,3,4。
部分源程序如下:
#include <stdio.h>
#define N 80
void fun(int *w, int p, int n)
{ //只需要完成此部分功能即可

}
int main( )
{
int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int i,p,n=15;
scanf("%d",&p);
fun(a,p,n);
for(i=0; i<n; i++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
展开
 我来答
清_晨_
2011-06-12 · TA获得超过131个赞
知道答主
回答量:42
采纳率:0%
帮助的人:64.9万
展开全部
void fun(int *w, int p, int n)
{ //只需要完成此部分功能即可
int b[N],i,j;
for(i = 0; i <= p;i++)
{
b[i] = w[i];
}
for(i = 0; p+1+i < n;i++)
{
w[i] = w[p+1+i];
}
for(j = 0;j <= p;j++)
{
w[i++] = b[j];
}

}
科班小白
2020-03-12 · TA获得超过243个赞
知道答主
回答量:118
采纳率:0%
帮助的人:10.8万
展开全部

向左移动

#include <stdio.h>

void blue(int *a,int n,int move)

{

int j,save,i;

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

 {

   save=*a;

   for(j=0;j<n-1;j++)

   {

   *(a+j)=*(a+j+1);

   }

   *(a+n-1)=save;

 }

}

void main()

{

int a[6]={1,2,3,4,5,6},turn,move;

printf("请输入要向前移动的位数:");

scanf("%d",&move)

blue(a,6,move);

 for(turn=0;turn<6;turn++)

 {
printf("%d ",a[turn]);

 }

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
752915708
2011-06-12 · TA获得超过150个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:169万
展开全部
void fun(int *w, int p, int n)
{ //具体指针分配内存和释放什么的就没有写,很久没有用C编写了
int i,*a,*x;
for(i=0;i<=p;i++){
a[i]=w[i];
x[i]=w[n-p+i];
w[i]=x[i];
w[n-p+i]=a[i];
}
}
追问
抱歉,您的回答不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草梦灵
2011-06-13
知道答主
回答量:43
采纳率:0%
帮助的人:24.6万
展开全部
void fun(int *w,int p,int n)
{
int i,a[N];
for(i=p;i<=n-p;i++)
a[i]=w[i];
for(i=0;i<=p;i++)
a[n-p]=w[i];
}
追问
抱歉,您的回答不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式