一道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语言比赛真题,比较考验数组的综合运用,先给大家打个样的主要内容,如果未能解决你的问题,请参考以下文章