全国计算机编程大赛复赛试题1

全国计算机编程大赛复赛试题1

ID:40591481

大小:13.36 KB

页数:3页

时间:2019-08-04

全国计算机编程大赛复赛试题1_第1页
全国计算机编程大赛复赛试题1_第2页
全国计算机编程大赛复赛试题1_第3页
资源描述:

《全国计算机编程大赛复赛试题1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、全国计算机编程大赛复赛试题1责任编辑:育鹰 更新日期:2005-8-6   在某次实弹射击训练中,班长将十个战士围成一圈发子弹。首先,班长给第一个战士10颗,第二个战士2颗,第三个战士8颗,第四个战士22颗,第五个战士16颗,第六个战士4颗,第七个战士10颗,第八个战士6颗,第九个战士14颗,第十个战士20颗。然后按如下方法将每个战士手中的子弹进行调整:所有的战士检查自己手中的子弹数,如果子弹数为奇数,则向班长再要一颗。然后每个战士再同时将自己手中的子弹分一半给下一个战士(第10个战士将手中的子弹分一半给第1个战

2、士)。问需要多少次调整后,每个战士手中的子弹数都相等?每人各有多少颗子弹?   要求输出每轮调整后各战士手中的子弹数。   要求结果的输出格式为0  10  2  8 22 16  4 10  6 14 20 各战士手中原始的子弹数1  xx xx xx xx xx xx xx xx xx xx 第1轮各战士手中的子弹数2  xx xx xx xx xx xx xx xx xx xx 第2轮各战士手中的子弹数   ……n  xx xx xx xx xx xx xx xx xx xx 最后一轮各战士手中的子弹数(应

3、相等) #include"stdio.h"main(){inti,ip=0,a[10],b[10]; FILE*fp; a[0]=10;a[1]=2;                  /* 初始化*/ a[2]=8; a[3]=22; a[4]=16;a[5]=4; a[6]=10;a[7]=6; a[8]=14;a[9]=20;  if((fp=fopen("SHITI1.dat","w"))==NULL)  /* 建输出结果文件*/  {printf("cannotopenthisfile.");   

4、 exit(0);    } fprintf(fp,"%5d",ip);            /* ID为序号*/  for(i=0;i<10;i++)     fprintf(fp,"%5d",a[i]);  fprintf(fp,""); do{      for(i=0;i<10;i++)            /*  数为奇加1*/ {if(a[i]%2!=0)   a[i]=a[i]+1; }     for(i=0;i<9;i++)              /*  向下传一半*/ b[i+

5、1]=(a[i]+a[i+1])/2; b[0]=(a[9]+a[0])/2; ip++;       fprintf(fp,"%5d",ip);        /* 输出到文件 */  for(i=0;i<10;i++)   fprintf(fp,"%5d",b[i]); fprintf(fp,""); for(i=0;i<10;i++)  a[i]=b[i];                  /*直到数相等  */   }while(!(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3

6、]&&a[3]==a[4]&&a[4]==a[5]&&a[5]==a[6]&&a[6]==a[7]&&a[7]==a[8]&&a[8]==a[9]));  fclose(fp);}全国计算机编程大赛复赛试题2责任编辑:育鹰 更新日期:2005-8-6  某幼儿园按如下方法依次给A,B,C,D,E五个小孩发糖果。将全部糖果的一半再加二分之一块糖果发给第一个小孩;将剩下糖果的三分之一再加三分之一块糖果发给第二个小孩;将剩下糖果的四分之一再加四分之一块糖果发给第三个小孩;将剩下糖果的五分之一再加五分之一块糖果发给第四个

7、小孩;将最后剩下的11块糖果发给第五个小孩。每个小孩得到的糖果数均为整数。试确定原来共有多少块糖果?每个小孩各得到多少块糖果?   要求结果的输出格式为   sum=糖果总数   xa=A得到的糖果数   xb=B得到的糖果数   xc=C得到的糖果数   xd=D得到的糖果数   xe=E得到的糖果数以下是我为实现以上要求而写的,完全能正确实现,请欣赏,如果看了后你有所改进或有别的实现妙方,就请贴出来共同学习与分享吧。让我们为本网站更具实用,可读性强而努力! #include"stdio.h"main(){FI

8、LE*fp; intsum,xa,xb,xc,xd,xe; if((fp=fopen("58114_2.dat","w"))==NULL) /*创建结果文件*/   {printf("cannotopenthisfile.");     exit(0);    } sum=0; while(1) {if(60*sum-((sum+1)*30+(sum+1)*10+(s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。