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

2016-02-19 14:06 0 1 收藏

下面这个全国计算机编程大赛复赛试题1教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - 编程语言 】

    在某次实弹射击练习中,班长将十个战士围成一圈发子弹。首先,班长给第一个战士10颗,第二个战士2颗,第三个战士8颗,第四个战士22颗,第五个战士16颗,第六个战士4颗,第七个战士10颗,第八个战士6颗,第九个战士14颗,第十个战士20颗。然后按如下方法将每个战士手中的子弹进行调整:所有的战士检查自己手中的子弹数,假如子弹数为奇数,则向班长再要一颗。然后每个战士再同时将自己手中的子弹分一半给下一个战士(第10 个战士将手中的子弹分一半给第1个战士)。问需要多少次调整后,每个战士手中的子弹数都相等?每人各有多少颗子弹?
      要求输出每轮调整后各战士手中的子弹数。
      要求结果的输出格式为
  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  最后一轮各战士手中的子弹数(应相等) #include "stdio.h"
  main()
  { int i,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("SH99vI1.dat","w"))==NULL)   /*  建输出结果文件 */
     { printf("cannot open this file.");
       exit(0);
       }  fprintf(fp,"%5d",ip);             /*  ID为序号 */
     for(i=0;i10;i++)
        fprintf(fp,"%5d",a[i]);
     fprintf(fp,"");  do{
         for(i=0;i10;i++)             /*   数为奇加1 */
    { if(a[i]%2!=0)
      a[i]=a[i]+1;
    }
        for(i=0;i9;i++)               /*   向下传一半 */
   b[i+1]=(a[i]+a[i+1])/2; b[0]=(a[9]+a[0])/2; ip++;
          fprintf(fp,"%5d",ip);         /*  输出到文件  */ 
   for(i=0;i10;i++)
      fprintf(fp,"%5d",b[i]);
   fprintf(fp,""); for(i=0;i10;i++)
     a[i]=b[i];                   /* 直到数相等   */     } while(!(a[0]==a[1]&&a[1]==a[2]&&a[2]==a[3]&&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);
   }
  以上是我编的程序,如你能有所改进或有别的方法实现,贴出来共同学习,分享吧!

来源:https://www.tulaoshi.com/n/20160219/1606180.html

延伸阅读
Windows7系统创建无线临时(计算机到计算机)网络的方法   Windows 7系统如何连接到工作区 点击设置新的连接或网络。 选择连接到工作区,点击下一步。 点击使用我的Internet连接。 键入要连接的Internet地址后点击下一步。 输入用户名和密码后点击连接即可。 如果使用电话号码连接,则点...
标签: 电脑入门
我们在用电脑时,电脑开着有时候会短暂的离开下电脑,而电脑上有些东西不想让其他的看到或是操作。可以设置一下安全保护方法。暂时锁定计算机。 1.Win+L键法 在WindowsXP中在任何时候按下Win+L(L 是LockStation之意)键都可以锁定计算机。这个 锁定计算机的快捷键 现在Win7中也同样有用。大家可以试试,按下.Win+L这个锁定计算机的快捷键,...
标签: 电脑入门
平时工作中,当我们需要短暂离开电脑,而又为了防止他人窥视系统中的文件资料,通常会锁定计算机(如:使用“Windows+L”快捷键),必须输入正确的密码才能再次登录系统。虽然这样能够起到保护机密文件不被偷窥的目的,但是要想阻止别人恶意关机就没辙了,因为通过登录界面中的“关闭计算机”选项就可以轻松关闭电脑了。所以,要彻底锁定计...
标签: 电脑入门
作为存储设备中的一员,硬盘起着极其重要的作用。但是由于硬盘属于磁介质,因此其寿命与稳定不像内存等设备那样好,使用时难免会出现各种各样的问题。而且令情况更加复杂的是,由于硬盘牵涉到系统底层的设置,因此往往不能在大家熟悉的Windows下解决问题,必须转到DOS下处理,这对于不少 DIY新手而言就有些无所适从了,毕竟他们没有经历过 DOS...
标签: 电脑入门
双硬盘看似一件简单的活路,却也有不少讲究的地方,下面就让我细细道来。 在装双硬盘前,首先应确定机箱中是否还有装第二硬盘的位置,若只有余5寸槽的位置,则需要先准备一固定架。另外还要确定一下电源插头、功率是否 足够。在一条排线上装两个硬盘时,应将两块硬盘按自己的意愿分别设置成主盘和从盘,这样安装后才能正常使用。主、从盘的设...

经验教程

280

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部