您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

蓝杯C语言C组校内比赛题目分析

  • 时间:2022-10-12 18:20 编辑: 来源: 阅读:294
  • 扫一扫,手机访问
摘要:蓝杯C语言C组校内比赛题目分析
今天事情很多,一切都忙得不可开交。 上午俱乐部本来要搞活动,正好赶上培训班。三四节课过去搬东西已经来不及了,只能下课过去帮忙。手机没电了,还是要忙到将近12点半才能回宿舍吃外卖。 还没吃几口饭,比赛就要开始了。我只能放下外卖,打开电脑。 我校蓝桥杯比赛将于今天13:00-17:00举行。 只要蓝桥杯比赛,就是4个小时。 这次测试的难度,说实话,比我们今年三月份参加的比赛还要粗糙。 无论如何,简单的题特别简单,难的题特别难,但所有的题都可以暴解决。 现在比赛结束了,我们来参考一下对今天问题的几点思考和分析。 虽然我觉得我能做的题真的不多。 题目:1。不超过19000的正整数中,与19000互质的数是多少?-分析:之前真的很少接触互质的问题。印象中这是第二次遇到相互素质的问题,不过做起来也不至于慌。既然有了一些经验,辗转反侧应该是最好的解决办法。 虽然我把这个问题写成了函数。 代码挺长的,大部分都是废话,主要是函数的编写。做题多的人应该很熟悉。 # include & ltstdio.h & gtint Gcd(int m,int n){ int o;while(n & gt;0){ o = m % n;m = n;n = o;}返回m;} int main() { int a,I,b,s;while(scanf("%d ",& amp答)!= EOF){ if(a = = 1){ printf(" 1 \ n ");} else { s = 0;for(I = 1;我& lta;i++) { b=Gcd(i,a);if(b = = 1){ s++;} } printf("%d\n ",s);} }返回0;}2.在计算机存储中,12.5MB是多少字节?-分析:这个问题怎么说? 感觉有点巧合。应该属于入住问题吧?我不知道蓝杯是否需要参加计算机二级知识考试,也不敢问。 用12.5×1024×1024的计算器直接完成。答案应该是13 107 2003不写代码。在一个8×8的棋盘的左上角放一个棋子。每一步只允许棋子向右或向下移动一格,不允许移出棋盘。14步之后就可以移到棋盘右下角了。 有多少根本不同的移动方案?两个移动方案本质上是不同的,也就是说两个方案中至少有一个步骤,一个是向右走,一个是向下走。 ——说实话,这个问题很恶心。 因为很久没刷题了,对dfs,bfs等题真的很陌生。今天还找到之前的代码改了很久,最后弄了个死循环。 过程是这样的:image.png最终放弃了,手交了18。 4.一棵10层的二叉树最多包含多少个节点?请注意,当二叉树只有一个节点时,它就是一个层。 -解析:二叉树问题与C语言密切相关。 虽然这个问题也有点弱智。 也许唯一需要注意的就是不要不小心直接上传了10楼的节点数。 问题要求统一节点,答案应该是10235。该问题描述了给定一个单词,请使用凯撒密码对该单词进行加密。 凯撒密码(Caesar cipher)是一种替代加密的技术,将一个单词中的所有字母在字母表中向后移位3位,然后替换为秘密单词。 也就是A变成D,B变成E,...,W变成Z,X变成A,Y变成B,Z变成c。 比如蓝桥会变成odqtldr。 输入格式输入包含一个单词的行,该行只包含小写英文字母。 输出格式输出一行,表示加密的密文。 -解析:也属于签到题,ASCLL代码类。 至于要加减多少才能得出答案,你自己写在纸上就行了。 代码:# include < stdio.h & gtint main(){ char ch;while(scanf("%c ",& ampch)!= EOF){ if(ch & gt;= ' a ' & amp& ampch & lt= ' w '){ ch+= 3;} if(ch & gt;= ' x ' & amp& ampch & lt= ' z ')ch-= 23;printf("%c ",ch);}返回0;} 6.问题描述在序列a[1],a[2],...,a[n],如果0 < i & ltj & ltk & ltN+1和a [i] 给定一个数列,数列中有多少个元素可能是递增三元组的中心? 输入格式输入的第一行包含一个整数n 第二行包含N个整数a[1],a[2],...,a[n],相邻的整数用空格隔开,表示给定的序列。 输出格式输出行包含一个整数,表示答案。 -分析:这个问题 嗯,花了我将近一个半小时。 而最终的答案还是不尽如人意。 其实这个问题乍一看很像dp。 但我还没学会dp只能硬着头皮解决:我的想法是,如果一个数是中心,那么它的前后会有更大更小的数。那么如果遇到这种情况,一个数会得到1,判断就是正确的。最后,如果有些数字比他大,比他小,答案就是+1。 所以我最后的代码如下:# include < bits/stdc++。h & gt使用命名空间stdint main(){ int n;int a[10000];int s;int o=0,p = 0;int x = 0;scanf("%d ",& ampn);for(int I = 0;我& ltn;i++){ scanf("%d ",& ampa[I]);} for(int j = 0;j & ltn;j++){ s = a[j];while(j & gt;= 1){ j-;if(s & gt;a[j]){ o = 1;打破;} } j = 0;while(j & lt;= n-1){ j++;if(s & lt;a[j]){ p = 1;打破;} } if(o = = p){ x = x+1;} } printf("%d ",x);返回0;}代码可能看起来很乱,但思想应该还是看得见的。判断数组中的一个数,只要前面有一个较小的数,后面有一个较大的数,那么这个数就是递增三元组的中心。 遗憾的是,计算结果似乎不尽如人意。 7.问题描述一般情况下,如果一个单词在一个段落的开头,第一个字母大写,后面的字母小写。 给定一个单词,它可能包含大小写字母。请用大写字母输出第一个字母,用小写字母输出后面的字母。 输入格式输入包含一个单词的行,该行只包含大写或小写英文字母。 输出格式输出段落开头单词的形式,第一个字母大写,其余小写。 -解析:这个问题比较简单吧?这是第五个问题的变体。只是我思考的时候会往过于复杂的方向去思考,甚至会用到数组。 这样也浪费了很多时间,导致后面的题没有足够的时间做完。 -代码:# include < stdio.h & gtint main(){ char a[100];scanf("%c ",& ampa[0]);if(a[0]& gt;= ' a ' & amp& ampa[0]& lt;= ' z '){ a[0]-= 32;} printf("%c ",a[0]);for(int I = 1;我& lt=100;i++){ scanf("%c ",& ampa[I]);if(a[I]& gt;= ' A ' & amp& ampa[I]& lt;= ' Z '){ a[I]+= 32;} printf("%c ",a[I]);}返回0;}其实很明显。输入此问题时,您只需使用%1c。 也就是可以直接读取第一个数字,然后再分别读取后面的数字,然后用两个不同的if来求解这两个参数,就完成了。完全不需要写数组,逐步输入。 8.问题描述小明开了一家花店。这一天,一个用户订购了很多鲜花。根据用户的需求,这些花要排列成N行M列。 小明想把这些花运到用户手里,但是因为花太多,需要两辆车来装。 小明怕自己把花的顺序搞错了,所以分车的时候,他准备在第一辆车上放一小部分前面的花,把实际的花放在第二辆车上。 知道每盆花的重量,为了使第一车和第二车的总重量尽可能一致,请帮小明把这些花分开包装,并请告诉小明两车重量的最小差值。 输入格式input的第一行包含两个整数n,m,分别代表行数和列数。 接下来的n行,每一行有m个正整数,分别代表每一盆花的重量。 输出格式输出一个整数,表示当总重量最接近时两辆汽车重量之间的差值(绝对值)。 9.问题描述小明有一片空地。他把这块空地分成N行M列的小块。每行和每列的长度都是1。 小明选了一小部分空地,种上了草,剩下的还是空地。 这些草长得非常快。每个月都会有少量的草长出来给外交部长。如果种下一小片草,它会扩展到自己的四个小空地,上、下、左、右,这四个小空地都会变成有草的小片。 请告诉小明,K个月后的空地哪里会有草。 输入格式输入的第一行包含两个整数n,m。 接下来的N行,每行包含M个字母,表示初始的开放空间状态,字母之间没有空格。 如果是小数点,表示开阔地;如果字母是G,表示种草。 接下来,它包含一个整数k 输出格式输出N行,每行包含M个字母,表示K个月后的空地状态。 如果是小数点,表示开阔地,如果字母是G,表示长了草。 10.问题描述小明想组织一个聚会,一共准备了N个节目。 然后晚会时间有限,他最后只能选M个节目。 n个程序是按照小明设想的顺序给出的,顺序不能变。 小明发现,观众对晚会的喜欢和之前节目的好看程度有很大关系。他希望选出的第一个节目越好看越好,在这个前提下,他又希望第二个节目越好看越好,以此类推。 小明给每个节目定义了一个好看值。请帮助小明选择M个程序来满足他的要求。 输入格式input的第一行包含两个整数n,m,分别代表节目数量和要选择的数量。 第二行包含N个整数,依次是每个程序的好看值。 输出格式输出行包含M个整数,是选中程序的好看值。 最后三道题时间不够做。因为社团的活动要收拾,只能提前结束比赛,所以先帮忙收拾东西。 这三个问题先留在文章里,有空再回来重写自己的想法,尽力而为。 通过这次校赛,可以对自己目前的C语言代码水平有一个积极的认识。 之前的几个基础我还是挺熟悉的,当然这几天可能和写问题解决方案有关系。 对于小部分之前抵制的算法,我觉得现在理解起来也不算太难。可能我已经逐渐适应了这个难题。 最后,希望明年的蓝桥杯能拿个奖,这是去年没有的梦想。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部