3 条题解

  • 0
    @ 2021-03-12 20:32:40

    用容器效率非常高!以下代码用笔记本3秒内编译完成

    #include<iostream>
    #include<vector>
    using namespace std;
    vector<int> a;
    vector<int> b;
    int main()
    {
        int n,n1;cin>>n>>n1;
        int j,j1;
        for(int i=0;i<n;i++){
            cin>>j;
            a.push_back(j);
        }
        int d1=1;
        for(int i=0;i<n1;i++){
            cin>>j1;
            b.push_back(j1);
        }
        int min=a[0];
        int min1=b[0];
        for(vector<int>::iterator it=a.begin()+1;it<a.end();it++){
            if(min>=0)
            {
                min=a[d1];
                d1++;
                continue;   
            }
            if(*it>=0) continue;
            if(*it>min) min=*it;
        }
        int d=1;
        for(vector<int>::iterator it1=b.begin()+1;it1<b.end();it1++){
            if(min1>=0)
            {
                min1=b[d];
                d++;
                continue;
            }
            if(*it1>=0) continue;
            if(*it1>min1) min1=*it1;
        }
        cout<<min<<" "<<min1;
        return 0;
    }
    
  • -1
    @ 2019-12-30 20:29:23

    #include <stdio.h>
    int FindMaxNeg (int a[],int n);
    int main()
    {
    int i,n1,n2,a[10000],b[10000];
    scanf("%d%d",&n1,&n2);
    for(i=0;i<n1;i++)
    scanf("%d",&a[i]);
    for(i=0;i<n2;i++)
    scanf("%d",&b[i]);
    printf("%d %d",FindMaxNeg(a,n1),FindMaxNeg(b,n2));
    return 0;
    }
    int FindMaxNeg (int a[],int n)
    {
    int i,j,m=0,temp,b[10000];
    for(i=0;i<n;i++)
    {
    if(a[i]<0)
    {
    b[m]=a[i];
    m++;
    }
    }
    for(i=0;i<m-1;i++)
    for(j=0;j<m-1-i;j++)
    {
    if(b[j]>b[j+1])
    {
    temp=b[j];
    b[j]=b[j+1];
    b[j+1]=temp;
    }
    }
    return b[m-1];
    }

  • -1
    #include<iostream>
    using namespace std;
    
    void set_array(int n,int a[])
    {
        for(int i=0;i<n;i++)
            cin>>a[i];
    }
    
    void output(int n, int a[])
    {
        for(int i=0;i<n;i++)
            cout<<a[i]<<" ";
    
        cout<<endl;
    }
    
    
    
    int find_max_num(int a[],int n)
    {
        int max_num=0;
        int count=0;
        int tmp[1000];
        for(int i=0;i<n;i++)
        {
            if(a[i]<0)
            {
                tmp[count]=a[i];
                count++;
            }
        }
    
        max_num=tmp[0];
        for(int i=1;i<count;i++)
        {
            if(tmp[i]>max_num)
            {
                max_num=tmp[i];
            }
        }
    
        return max_num;
    
    }
    
    
    
    int main()
    {
        int n1,n2;
        int *a1,*a2;
        a1=new int[10000];
        a2=new int[10000];
    
        cin>>n1>>n2;
        //for(int )
    
        set_array(n1,a1);
        set_array(n2,a2);
    
    
        cout<<find_max_num(a1,n1)<<" ";
        cout<<find_max_num(a2,n2)<<endl;
    
        //output(n1,a1);
        //output(n2,a2);
    
        system("pause");
        return 0;
    }
    
    
    
  • 1

信息

难度
5
分类
(无)
标签
递交数
1109
已通过
348
通过率
31%
被复制
8
上传者