一道C语言比赛真题,比较考验数组的综合运用,先给大家打个样

Posted C语言编程俱乐部

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道C语言比赛真题,比较考验数组的综合运用,先给大家打个样相关的知识,希望对你有一定的参考价值。

今天看到一个比赛真题,特来分享。

题目如下:

内容我大概看了一下,非常考验数组的综合运用,以及数组下标的运用。

首先在讲之前先给大家科普一下数组下标的巧妙运用:

#include<bits/stdc++.h>

usingnamespacestd;

intmain()



    intn,a[100],b;

    cin>>n;

    for(inti=1;i<=n;i++)

    

        a[i]=0;

    

    for(inti=1;i<=n;i++)

    

        cin>>b;

        a[b]++;

    

    for(inti=1;i<=n;i++)

    

        cout<<a[i]<<" ";

    

    return0;

这段代码是什么意思呢?就是你输入几,就a[几]累加。

比如你如入3,就是a[3]++。(别忘了初始化!)

这就是巧妙运用数组下标的一种。

———————————————

言归正传。刚好这道题需要用到我上面的方法来计数,同学的序号是几,就a[几]++。

最后别忘了是输出编号,所以要用打擂法保存i。

这样一来,这道题就简单多了。

参考代码:

#include<bits/stdc++.h>

usingnamespacestd;

intmain()



    intn,b,c,d;

    intmaxn=-1;

    cin>>n>>b;

    inta[1000];

    for(inti=1;i<=n;i++)

    

        a[i]=0;

    

    for(inti=1;i<=b;i++)

    

        cin>>c;

        a[c]++;

    

    for(inti=1;i<=n;i++)

    

        if(a[i]>maxn)

        

            maxn=a[i];

            d=i;

        

    

    cout<<d;

    return0;

——————————————

不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

【值得关注】我的 编程学习交流俱乐部【点击进入】

以上是关于一道C语言比赛真题,比较考验数组的综合运用,先给大家打个样的主要内容,如果未能解决你的问题,请参考以下文章

综合运用(拓展)

从一道面试题掌握ES6的综合运用(有彩蛋)

求助一道抽签程序

EXCEL vlookup和small 综合运用

网易实习笔试真题C/C++

综合型RSA题目