华为笔试

 

笔试题一:

 

#include <iostream>

using namespace std;

int main()
{
    string str;
    getline(cin,str);
    string ss;
    string res;
    int max=0;
    for(int i=0;i<str.size();i++)
    {
        if(str[i]>='0'&&str[i]<='9')
        {
            ss+=str[i];
            while(str[i+1]>='0'&&str[i+1]<='9')
            {
                i++;
                ss+=str[i];

            }
            if(ss.size()>max)
            {
                max=ss.size();
                res=ss;
            }
            else if(ss.size()==max)
                 res=ss;
        }
        ss.clear();
    }
    if(ss.size()!=0)
       cout<<res<<endl;
    cout<<max<<endl;
    return 0;
}

 笔试题二:

#include<stdio.h>
#include<string.h>
int num[101],m;
void NumberoffGame(int m)
{
    //printf("m=%d\n",m);
    int baoshu=0,shengyu=100,i=1;
    while(shengyu>=m)
    {
        baoshu++;

        //getchar();
        if(baoshu>100)
            baoshu=1;
        while(num[i])
        {
            //puts("heheh");
            i++;
            if(i>100)
                i=1;
        }
        //printf("baoshu=%d,i=%d\n",baoshu,i);
        if(baoshu==m)
        {
            num[i]=1;
            //printf("%d\n",i);
            baoshu=0;
            shengyu--;
        }
        i++;
    }
    //printf("shengyu=%d\n",shengyu);
    int nums=0;
    for(i=1;i<=100;i++)
        if(!num[i])
            {   nums++;
                if(nums!=shengyu)
                    printf("%d,",i);
                else
                    nums=i;
            }
    printf("%d\n",nums);
}
int main()
{
    while(~scanf("%d",&m))
    {
        memset(num,0,sizeof(num));
        if(m<=1||m>=100)
        printf("ERROR!");
        NumberoffGame(m);
    }
}

 

笔试题三:

#include <iostream>

using namespace std;
int array_a[1000];
int array_b[1000];

int main()
{
    int m,n;
    cin>>m>>n;
    for(int i=1;i<=m;i++)
    {
        cin>>array_a[i];
    }
    int min=9999;
    int k=-1;
    for(int i=0;i<n;i++)
    {
        array_b[i]=array_a[i];
    }
    for(int i=n;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(min>array_b[j])
            {
                min=array_b[j];
                k=j;
            }
        }
        array_b[k]+=array_a[i];
    }
    int max=-9999;
    for(int i=0;i<n;i++)
        if(max<array_a[i])
            max=array_a[i];

    cout<<max<<endl;
    return 0;
}

 

posted @ 2017-09-06 21:48  泡面小王子  阅读(216)  评论(0编辑  收藏  举报