《蓝桥杯基本算法》PPT课件.ppt

上传人:sh****n 文档编号:13169419 上传时间:2020-06-05 格式:PPT 页数:14 大小:316.50KB
返回 下载 相关 举报
《蓝桥杯基本算法》PPT课件.ppt_第1页
第1页 / 共14页
《蓝桥杯基本算法》PPT课件.ppt_第2页
第2页 / 共14页
《蓝桥杯基本算法》PPT课件.ppt_第3页
第3页 / 共14页
点击查看更多>>
资源描述
蓝桥杯基础算法,基础算法,图形显示排序前缀表达式分糖果回文数字,问题描述编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数):*,图形显示ALGO-101,C程序:,图形显示ALGO-101,#includestdio.hintmain()intx,i,j;scanf(%d,排序ALGO-97,问题描述编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。输入格式:输入只有一行,即三个整数,中间用空格隔开。输出格式:输出只有一行,即排序后的结果。输入输出样例,样例输入9230,样例输出3092,排序ALGO-97,C程序:,#includestdio.hintmain()intx,y,z,tem;scanf(%d%d%d,if(xz)tem=x;x=z;z=tem;if(yz)tem=y;y=z;z=tem;printf(%d%d%dn,x,y,z);return0;,前缀表达式ALGO-92,问题描述编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符对象1对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。输入格式:输入只有一行,即一个前缀表达式字符串。输出格式:输出相应的计算结果(如果是除法,直接采用c语言的“/”运算符,结果为整数)。,样例输入+52,样例输出7,前缀表达式ALGO-92,C程序:,#includestdio.hadd(intx,inty)return(x+y);sub(intx,inty)return(x-y);mul(intx,inty)return(x*y);div(intx,inty)return(x/y);,intmain()charA9,op;intx,y,result;gets(A);op=A0;if(A2=1,switch(op)case+:result=add(x,y);break;case-:result=sub(x,y);break;case*:result=mul(x,y);break;case/:if(y=0)exit(0);result=div(x,y);break;printf(%d,result);return0;,分糖果PREV-32,问题描述有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式首先读入一个整数N(2N100),表示小朋友的人数。接着是一行用空格分开的N个偶数(每个偶数不大于1000,不小于2)输出格式要求程序输出一个整数,表示老师需要补发的糖果数。,样例输入3224,样例输出4,分析:,利用数组存放每个小朋友的糖果数,用循环模拟糖果变化过程。解步骤如下:执行以下步骤直到数组各元素相等。1.对数组中每个元素Ai=Ai-Ai/2+Ai+1/2,2.若Ai不是偶数则Ai+,3.表示补发糖果数的count+.,分糖果PREV-32,C程序:,#includestdio.h#includestdlib.h#defineMAX100intmain()intAMAX;intflag=1,count=0;intn,i,temp;scanf(%d,分糖果PREV-32,while(flag)flag=0;temp=A0/2;for(i=0;in-1;i+)Ai=Ai-Ai/2+Ai+1/2;if(Ai%2!=0)count+;Ai+;,An-1=An-1-An-1/2+temp;if(An-1%2!=0)count+;An-1+;for(i=0;in-1;i+)if(Ai!=Ai+1)flag=1;break;printf(%dn,count);return0;,回文数字PREV-21,问题描述观察数字:12321,123321都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。本题要求你找到一些5位或6位的十进制数字。满足如下要求:该数字的各个数位之和等于输入的整数。输入格式一个正整数n(10n100),表示要求满足的数位和。输出格式若干行,每行包含一个满足要求的5位或6位整数。数字按从小到大的顺序排列。如果没有满足条件的,输出:-1,样例输入44,样例输出99899499994589985994499,样例输入60,样例输出-1,分析:,解题步骤如下:对于每一个5或6位数字i执行以下步骤1.逆序分解出每位数字,2.顺序组合成新的5或6位数字m3.判断若各位数字和为已知量,且m=i,则输出若不存在满足要求的数字则输出-1.,回文数字PREV-21,C程序:,#includestdio.hintmain()intn,i,m;intx,y,sum,flag=0;scanf(%d,回文数字PREV-21,while(x!=0)y=x%10;x=x/10;sum=sum+y;m=m*10+y;if(sum=n,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!