ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:48.07KB ,
资源ID:27049420      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27049420.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(相关蓝桥.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

相关蓝桥.docx

1、相关蓝桥题目描述: 星期几1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。 那么,从建国到现在,有几次国庆节正好是星期日呢? 只要答案,不限手段! 可以用windows日历,windows计算器,Excel公式,。 当然,也可以编程! 不要求写出具体是哪些年,只要一个数目! 千万不要提交源代码! 答案不要写在这里,写在“解答.txt”中思路:一般的日期计算,吧星期日当做星期7算就可以了,对所在天数取余,9月算完在加一天对七取余看看是不是7,如果是那么成立并输出答案,不是不成立。注意:闰年的判断,月份天数的判断(二月十分重要),边界问题。AC代码:#includei

2、nt Run(int year) if(year%400=0|(year%4=0&year%100!=0) return 1; else return 0;int month(int year,int n) int aws; switch(n) case 1:aws=31;break; case 2: if(Run(year) aws=29; else aws=28; break; case 3:aws=31;break; case 4:aws=30;break; case 5:aws=31;break; case 6:aws=30;break; case 7:aws=31;break; ca

3、se 8:aws=31;break; case 9:aws=30;break; case 10:aws=31;break; case 11:aws=30;break; case 12:aws=31;break; return aws;int main() int i,j,x,sum; sum=5; for(i=10;i=12;i+) sum+=month(1949,i); for(i=1950;i=2013;i+)/今天是2014年3月14日,所以算到2013年即可 for(j=1;j=12;j+) sum+=month(i,j); if(j=9) x=sum%7; if(x+1=7) pri

4、ntf(%d年的国庆节是星期日。n,i); return 0;运送马匹运送马匹 有1个人,要把n匹马从A村运往B村。 初始时,人和马都在A村。每次骑1匹马牵1匹马,回来时骑1匹马。 已知每匹马从A村到B村需要的时间(数字越大越慢) 两匹马同行时只能迁就较慢者。 求所有马匹都运到B村的最小的运输时间(此时,人和马都在B村)。 程序首先输入一个整数n(n100),表示有n匹马。 接着是n行整数,表示马从A村到B村的所用的分钟数(小于1000) 程序输出:1个整数,表示所有马匹均运到B村的最小总耗时。 例如,输入:3124程序应输出:7输入:41425程序应该输出:12对于编程题目,要求选手给出的解

5、答完全符合ANSI C+标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI c+标准的类库。例如,不能使用CString类型(属于MFC类库)。所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意选择自己使用的编译环境。思路:选择两匹最快的马匹来回运送其它的马匹,最后的最后再将这两批最快的马匹运回就完成了因为用到贪心思想,所以一开始要将马匹的速度从小到大排序,得到速度最快的前两个马匹,之后运用递归的方法来运送马匹,一回合用最快的马运送两个(例如:1,2,5,4,8:排序后:1,2,4,5,

6、8;先用1,2,将1送到目的地,用时a1,2返回,用时a1,之后速度倒数第二的马匹和速度倒数第一的马匹一起过去,用的时间是an-1(此时B地有马3匹,分别是1和an-2和an-1),之后1再回去,用时a0,一回合的用时就是a1*2+a0+an-1,此时运送了两匹马(an-2和an-1),直到运送完毕#include#includeusing namespace std;int a200,sum=0;int Fun(int n) if(n=1) sum+=a0; else if(n=2) sum+=a1; else if(n=3) sum+=a1+a2; else sum+=2*a1+a0+an

7、-1;/每一回合的式子 Fun(n-2);/运好两匹马之后递归 int main() int i,j,n,m1,m2; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); sort(a,a+n);/排序(从小到大) Fun(n); printf(%dn,sum); return 0;画表格画表格在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。比如: 其实,它是由如下的符号拼接的:左上 = 上 = 右上 = 左 = 中心 = 右 = 左下= 下 = 右下 = 垂直 = 水平 = 本题目要求编写一个程序,根据用户输入的行、列数画出相应的

8、表格来。例如用户输入:3 2则程序输出: 用户输入:2 3则程序输出: 对于编程题目,要求选手给出的解答完全符合ANSI C+标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI c+标准的类库。例如,不能使用CString类型(属于MFC类库)。所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意选择自己使用的编译环境。思路:先输出第一小排和最后一排,中间的交替,每一排不一样的字符中间交替如2行4列用题中所给的小字符组合的话,需要的字符是5行9列,其它几组也看看就发现规律了,自己画图想想代

9、码仅供参考#includeint main() int i,j,n,m,x,y,k; while(scanf(%d %d,&n,&m)!=EOF) x=m*2+1;y=n*2+1;/转换(很重要,想想为什么,自己画画图就懂了) printf(); for(i=2;i=x-1;i+) if(i%2=0) printf(); else printf(); printf(); puts(); for(i=2;i=y-1;i+) if(i%2=0) for(j=1;j=x;j+) if(j%2!=0) printf(); else printf( ); puts(); else printf(); f

10、or(k=2;k=x-1;k+) if(k%2=0) printf(); else printf(); printf(); puts(); printf(); for(i=2;i=x-1;i+) if(i%2=0) printf(); else printf(); printf(); puts(); return 0; 硬币方案硬币方案有50枚硬币,可能包括4种类型:1元,5角,1角,5分。已知总价值为20元。求各种硬币的数量。比如:2,34,6,8 就是一种答案。而 2,33,15,0 是另一个可能的答案,显然答案不唯一。你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?

11、直接提交该数字,不要提交多余的内容。思路:什么也别想,比赛时间紧,而且只要求输出答案即可,直接暴力搜索!小技巧:5角,1角,5分化成浮点型数据(double)容易计算出错,把所有数去全乘以100,20块变成2000块,1元,5角,1角,5分变成100元,50元,10元,5元。整形计算出错率大大降低AC代码:#includeint b10004;int main() int i,j,x,p,k=0; int n=2000; for(i=0;i=50;i+) for(j=0;j=50;j+) for(x=0;x=50;x+) for(p=0;p=50;p+) if(i*100+j*50+x*10+

12、p*5=n&i+j+x+p=50) bk0=i;bk1=j;bk2=x;bk3=p; printf(%d %d %d %dn,i,j,x,p); k+; for(i=0;ik;i+) for(j=0;j4;j+) printf(%d ,bij); puts(); printf(总数为:%dn,k); while(1); return 0;歌赛新规则歌赛新规则歌手大赛的评分规则一般是去掉一个最高分,去掉一个最低分,剩下的分数求平均。当评委较少的时候,如果我们只允许去掉一个分数,该如何设计规则呢?有人提出:应该去掉与其余的分数平均值相差最远的那个分数。即“最离群”的分数。以下的程序用于实现这个功能

13、。其中x存放所有评分,n表示数组中元素的个数。函数返回最“离群”的那个分数值。请补全缺失的代码。double score(double x, int n)int i,j;double dif = -1;double bad;for(i=0; in; i+)double sum = 0;for(j=0; jn; j+)if(j!=i) sum += xj;/除了要检测的那个分数不加外,其他分数计算总和double t = xi - sum / (n-1);/看看要检测的那个分数与剩下的所有的分数的平均值的差距if(tdif)/如果大于上一次的几率,更新最大差距dif = t;bad = xi;/

14、记录最坏数printf(%d, %fn, i, xi);return bad;n进制小数n进制小数将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。例如:若十进制小数为0.795,则输出:十进制正小数0.795000转换成2进制数为: 0.11001011十进制正小数0.795000转换成3进制数为: 0.21011011十进制正小数0.795000转换成4进制数为: 0.30232011十进制正小数0.795000转换成5进制数为: 0.34414141十进制正小数0.795000转换成6进制数为: 0.44341530十进制正小数0.79500

15、0转换成7进制数为: 0.53645364十进制正小数0.795000转换成8进制数为: 0.62702436十进制正小数0.795000转换成9进制数为: 0.71348853以下代码提供了这个功能。其中,dTestNo表示待转的十进制小数。iBase表示进制数。请填写缺失的部分。void fun(double dTestNo, int iBase)int iT8;int iNo;printf(十进制正小数%f转换成%d进制数为: ,dTestNo, iBase);for(iNo=0;iNo8;iNo+)dTestNo *= iBase;iTiNo = _;if(_) dTestNo -=

16、iTiNo;printf(0.);for(iNo=0; iNo8; iNo+) printf(%d, iTiNo);printf(n);思路:首先要了解“十进制数小数部分如何转化成n进制数”十进制数0.3转化成二进制数的方法如下:0.32=0.6整数部分为0,记0;0.62=1.2整数部分为1,记1;0.22=0.4整数部分为0,记0;0.42=0.8整数部分为0,记0;0.82=1.6整数部分为1,记1;.void fun(double dTestNo, int iBase)int iT8;int iNo;printf(十进制正小数 %f 转换成 %d 进制数为: ,dTestNo, iBa

17、se);for(iNo=0;iNo1_) dTestNo -= iTiNo;/如果整数部分不是0而大于0,要去掉整数部分,因为下一次只能计算小数部分/再者想,本题是小数转化为n进制,dTestNo就是个小数,凭这一点第二个空也应该转化成小数了printf(0.);for(iNo=0; iNo8; iNo+) printf(%d, iTiNo);printf(n);中奖计算中奖计算某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码。最后通过摇奖的办法随机产生一个8位数字。参与者写下的数字中最多有多少个连续位与开奖号码中的相同,则称为中了几个号。例如:小张写的数字是:12345678,而开奖

18、号码是:42347856。则称小张中了3个号,因为其中最长的相同连续位是:“234”。如果小张写的是:87654321,则他只中了一个号。下面的代码根据传入的参数,返回中了几个号。其中:a表示被评价的号码,b表示摇号产生的数字。请填写缺少的代码。int g(int a, int b)char sa=00000000;char sb=00000000;int n = 0;int i,j;sprintf(sa,%8d,a);sprintf(sb,%8d,b);for(i=0; i8; i+)for(j=1; jn) _;sai+j = t;return n;首先要了解这两个函数:sprintf与s

19、trstr1sprintfsprintf字串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。功能把格式化的数据写入某个字符串缓冲区。头文件stdio.h原型int sprintf( char *buffer, const char *format, argument );参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。argument.:可选参数,可以是任何类型的数据。返回值:字符串长度(strlen)/*例子*/#include /某个头文件int main ()/*主函数“整数”类型*/ char buff

20、er 50;/*“字符”类型的数组,下面共有50个元素。*/ int n, a=5, b=3;/*三个变量都为“整数”类型*/ n=sprintf (buffer, %d plus %d is %d, a, b, a+b);/*赋予数值*/ printf (%s is a string %d chars longn,buffer,n);/*“格式输出”*/ return 0;/*“返回 零” 也就是程序正常退出*/输出结果:5 plus 3 is 8 is a string 13 chars long2strstr包含文件:string.h函数名: strstr函数原型:extern char

21、 *strstr(char *str1, char *str2);功能:从字符串str1中查找是否有字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null。返回值:返回该位置的指针,如找不到,返回空指针。例子:char str=1234 xyz;char* str1=strstr(str,34);coutstr1endl;显示: 34 xyzint g(int a, int b)char sa=00000000;char sb=00000000;int n = 0;int i,j;sprintf(sa,%8d,a);sprintf(s

22、b,%8d,b);for(i=0; i8; i+)for(j=1; jn) n=j;/如果出现比上一次记录的最长连续相等序列还长,就替换掉它sai+j = t;/把sai+j还原回来return n;程序设计题一方阵的主对角线之上称为“上三角”。请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3.的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出:1 2 3 4 512 13 14 611 15 710 89程序运行时,要求用户输入整数n(320)程序输出:方

23、阵的上三角部分。要求格式:每个数据宽度为4,右对齐。#include#includeint a3030;int main() int i,j,n,sum,num,k,m,x,pop; while(scanf(%d,&n) sum=0;k=1;m=0;num=n,pop=1; while(sumn*n-(n*n)/2)+n/2) i=m; if(k=1) x=num; else x=num-pop+; for(j=m;jx;j+) if(sum=n*n-(n*n)/2)+n/2) break; aij=k+; sum+; j=x-2; for(i=m+1;i=m+1;i-) if(sum=n*n

24、-(n*n)/2)+n/2) break; aij=k+;sum+; m+;num-; m=n; for(i=0;in;i+) for(j=0;jm;j+) printf(%4d,aij); m-; puts(); return 0;程序设计题二公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,,要求程序列出所有的正好能消费完该购物券的不同购物方法。程序输入:第一行是一个整数m,代表可购买的商品的种类数。接下来是m个整数,每个1行,分别代表这m种商品的单价。程序输出:第一行是一个整数,表示共有多少种方案第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔。例如:输入:2200300则应输出:22 25 0输入:2500800则应输出:12 0#include#includeint cost;int n;/物品个数 int price2000;/物品单价 int nu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1