在第一次输入 m n第二次 m1 n1,(令m1+n1<m且n1!=0)  例如m=4 n=4时,m1=2,n1=1时

两个题解答案  不同,我已经猜不透个题意啦……(怪不得老错...



wu:c++


#include<iostream>

using namespace std;

int a[1006];

int b[1006];

void f(int a[],int b[],int m,int n)

{


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

    {

        a[m++]=b[i];

    }

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

    {

        cout<<a[i];

        if(i<m-1)

        cout<<",";

    }

    cout<<endl;

}

int main()

{

    //freopen("data.in.txt","r",stdin);

    int m,n,m1,n1;

    cin>>m>>n;

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

    {

        cin>>a[i];

    }

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

    {

        cin>>b[i];

    }

    cin>>m1>>n1;

    if(n1==0)

    {

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

        {

            if(i<m-1) cout<<a[i]<<",";

            else

            cout<<a[i];

        }

    }

    else

    f(a,b,m1,n1);

    return 0;


}


花落:c

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

void Add(int a[],int  m, int  b[],  int  n) //函数很简单不难设计

{

    int i=0;

    for(;i<n;m++,i++)

    {

        a[m] = b[i];

    }


}

int main()

{

    int a[100],b[100];

    int m,n,i,s_1,s_2,k;


    scanf("%d%d",&s_1,&s_2);

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

    for(i=0;i<s_2;i++)scanf("%d",&b[i]);


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


    Add(a,m,b,n);

    k = m+n;

    k = k>s_1?k:s_1;    //注意这里非常关键,当时提交错误5次就是没发现这里,有m+n小于原长度这种情况。

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

    {

        if(i==k-1) printf("%d\n",a[i]);

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

    }

    return 0;


}

点赞(10)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论