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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

首届程序设计大赛题目及答案.docx

1、首届程序设计大赛题目及答案首届程序设计大赛题目及答案 程序设计大赛题目 1. 硬币兑换:用一元人民币兑换一分、二分和五分的硬币,编程求出所有兑换方法,并打印每种情况下各面值硬币需几枚?(10分) 2. 旅馆里有一百个房间,从1到100编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间“相反处理”,第三个服务员把所有编号是3的倍数的房间作“相反处理”,以后每个服务员都是如此。问第100个服务员来过后,哪几扇门是打开的。(所谓“相反处理”是:原来开着的门关上,原来关上的门打开。) (15分) 3. 整型数组,长度为10,输入数组各元后,求数组各元的平均值,并找出最接

2、近平均值的那个元素。打印输出上述两个结果,用逗号隔开,不要有其它字符。 (20分) 4. 编程求两个很长的整数之和,比如两个20位十进制整数。(很长的整数指无法用long型存储的数)(25分) 例如: 12345678900987654321+12345678900987654321=24691357801975308642 5.编写布雷程序。(30分) 在一个10*10的方格中,随机分布10个地雷,并在其它没有地雷的格中显示该方格周围相邻的方格中共有几枚地雷。 样例输出:(图中-1的位置表示地雷,其它值表示该位置相邻的八个格子中的地雷数) 答案:第一题:#include using name

3、space std;int main()int i,j,k;for(i=1;i=20;i+)for(j=1;j0) cout五分硬币i枚,二分硬币j枚,一分硬币k枚endl; system(pause);return 0; 第二题:#includeusing namespace std;int main()int i,j; /i为服务员编号,j为房间编号int a101;for(int t=1;t101;t+) at=1;for(i=2;i101;i+) for(j=i;j101;j+)if(j%i=0) aj*=-1;cout打开的房间为:;for(i=1;i101;i+) if(a=1)c

4、outi,;system(pause); return 0; 第三题:#include #include using namespace std;int main()int a10,i,sum=0,n=0;float ave,ca;for(i=0;ia;sum+=a; ave=sum/10.0; cout数组平均值为:aveendl;ca=fabs(a0-ave);for(i=1;i10;i+) if( fabs(a-ave)ca) ca=fabs(a-ave); n=i; cout最接近平均值的元素为第n+1个anendl;system(pause);return 0; 第四题:/长整数相加

5、 #include #include #include #define LENGTH 10using namespace std;class ClargeInt static const int SIZE = LENGTH; /整数最长100位 int elementSIZE; int _len; / 0 _len SIZE整数的实际位数 int _OverFlow; /溢出标记,0 无溢出, 1 溢出 public:int* GetPosition() const return (int*)element; ClargeInt(void):_OverFlow (0) int i; for (

6、i = 0; iSIZE; i+) element = 0; _len = SIZE; ClargeInt(int *data, int len):_OverFlow(0) int i; for (i = 0; i len; i+) element = *(data+i); _len = len; ClargeInt(const ClargeInt& a) int i; for (i = 0; i = 0 ; i-) printf(%1d,element); printf(n); int GetLen()const return _len; int SetOverFlow(int OverFl

7、ow) _OverFlow = OverFlow; int GetOverFlow() return_OverFlow ; const ClargeInt& operator+(const ClargeInt& RValue)ClargeInttemp;int Llen,Rlen,ActualLen;int value;int CarryFlag;/进位标记,产生进位为 1,没有进位为0 CarryFlag = 0;if ( _len = RValue._len ) ActualLen = _len; for (int i = 0; i ActualLen; i+) if (i RValue.

8、_len) value = element + RValue.element + CarryFlag; else value = element + CarryFlag; temp.element = value % 10; CarryFlag = value / 10; else ActualLen = RValue._len; for (int i = 0; i ActualLen; i+) if (i _len) value = element + RValue.element + CarryFlag; else value = RValue.element + CarryFlag; t

9、emp.element = value % 10; CarryFlag = value / 10; /the end of iftemp._len = ActualLen ;if (CarryFlag = 1)if (ActualLen SIZE)temp.elementActualLen = CarryFlag;temp._len =ActualLen + 1;elsetemp._OverFlow = 1;temp._len =ActualLen ;return temp;/ the end of operator + ;int main()int data1LENGTH;int data2

10、LENGTH;int len1, len2;int i;/ Seed the random-number generator with current time so that/the numbers will be different every time we run./srand( (unsigned)time( NULL ) );for (i = 0; i LENGTH; i+)data1 = rand()%10;for (i = 0; i LENGTH-5; i+)data2 = rand()%10;/ InitArray( data1, len1) ; / InitArray( d

11、ata2, len2) ; ClargeIntValue1 (data1, LENGTH);ClargeIntValue2 (data2, LENGTH-5);ClargeIntSumValue;SumValue =Value1 +Value2;Value1.print();Value2.print();if( SumValue.GetOverFlow()=1)cout相加之和,超出整数长度表示范围! endl; SumValue.print();SumValue = Value2 + Value1; if( SumValue.GetOverFlow()=1)cout相加之和,超出整数长度表示

12、范围! endl; SumValue.print();system(pause);return 0;第五题:#include stdio.h#include stdlib.h#include time.hint main() intb100;inta1010;inti=0,r,k,n,m,l,x,y,bomb;for (i=0;i100;i+) b=i; ai/10i%10=20; ;i=0;k=100;while (i10) srand(time(NULL);r=rand()%k;abr/10br%10=-1;while (r=k-2) br=br+1;r+;k-;i+;for (i=0;i10;i+)for (r=0;r0)?(i-1):0); n=(i+1)0)?(r-1):0); l=(r+1)9)?(r+1):9); x=k; bomb=0; while (x=n) y=m;while (y=l) if (axy=-1)bomb+;y+;x+; ar=bomb; ; ;i=0;while (i10) printf(n);r=0;while (r10) printf(%4d,ar);r+;i+; ;getch();return 0;希望对大家有用!

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

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