C语言 求助 20

.编写函数实现:一维数组作为函数的参数,并根据形参n把该一维数组的数组元素进行如下操作:假设定义有inta[5]={10,20,30,40,50},形参n为2;则把a[2... .编写函数实现:一维数组作为函数的参数,并根据形参n把该一维数组的数组元素进行如下操作:假设定义有int a[5] = {10,20,30,40,50} ,形参n为2;则把a[2]及后面的元素移动到a[0]的位置,把之前a[2]前面的元素依次移动到后面,即移动后的效果如下:{30,40,50,10,20}。主函数中实现:把改变后的数组顺序输出。函数的定义可参考:void move(int arr[],int len,int n){}。 展开
 我来答
自我编程
2020-03-05 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

方法很多,最直接的方法是,在函数中定义一个临时数组,然后2次循环,先将n往后的值存入新数组,再将n之前的值存入数组。最后把临时数组的值全部赋值给原数组。

#include<stdio.h>

void move(int arr[],int len,int n);

int main()

{

    int i,arr[5]={10,20,30,40,50},n;

    printf("请输入n的值:"),scanf("%d",&n);

    move(arr,5,n);

    printf("数组{10,20,30,40,50}变为:");

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

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

    return 0;

}

void move(int arr[],int len,int n)

{

    int i,j,atemp[len];

    if(n>=len)

        printf("n值过大,数组访问越界!\n");

    else

    {

        for(i=n,j=0;i<len;i++,j++)

            atemp[j]=arr[i];

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

            atemp[j]=arr[i];

    }

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

        arr[i]=atemp[i];

}

百度网友8b58de0
2020-03-05 · TA获得超过945个赞
知道小有建树答主
回答量:1079
采纳率:83%
帮助的人:318万
展开全部
该题c代码如下:
#include <stdio.h>
void move(int arr[],int len,int n)
{
int i,j,t;
for(i=0;i<n;i++)
{
t=arr[0];
for(j=0;j<len-1;j++) arr[j]=arr[j+1];
arr[len-1]=t;
}
}
int main()
{
int i;
int a[5]={10,20,30,40,50};
move(a,5,2);
//显示运行结果
for(i=0;i<5;i++) printf("%d ",a[i]);
return 0;
}
如果是oj判分答题,需稍做修改,可追问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我呀6paje
2020-04-10
知道答主
回答量:6
采纳率:0%
帮助的人:1.2万
展开全部
#include<stdio.h>
void move(int arr[],int len,int n);
int main()
{
int i,arr[5]={10,20,30,40,50},n;
printf("请输入n的值:"),scanf("%d",&n);
move(arr,5,n);
printf("数组{10,20,30,40,50}变为:");
for(i=0;i<5;i++)
printf("%d ",arr[i]);
return 0;
}
void move(int arr[],int len,int n)
{
int i,j,atemp[len];
if(n>=len)
printf("n值过大,数组访问越界!\n");
else
{
for(i=n,j=0;i<len;i++,j++)
atemp[j]=arr[i];
for(i=0;i<n;i++,j++)
atemp[j]=arr[i];
}
for(i=0;i<len;i++)
arr[i]=atemp[i];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoaxa
2020-03-05 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3441万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一变班爱麻啊堡0J
高粉答主

2020-03-26 · 醉心答题,欢迎关注
知道答主
回答量:11.4万
采纳率:2%
帮助的人:5620万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式