dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>C/C++>C语言教程>文章内容
c语言 全国计算机编程大赛复赛试题2
来源:网络 作者:佚名
某幼儿园按如下方法依次给A,B,C,D,E五个小孩发糖果。将全部糖果的一半再加二分之一块糖果发给第一个小孩;将剩下糖果的三分之一再加三分之一块糖果发给第二个小孩;将剩下糖果的四分之一再加四分之一块糖果发给第三个小孩;将剩下糖果的五分之一再加五分之一块糖果发给第四个小孩;将最后剩下的11块糖果发给第五个小孩。每个小孩得到的糖果数均为整数。试确定原来共有多少块糖果?每个小孩各得到多少块糖果?
    要求结果的输出格式为
    sum=糖果总数
    xa=A得到的糖果数
    xb=B得到的糖果数
    xc=C得到的糖果数
    xd=D得到的糖果数
    xe=E得到的糖果数

以下是我为实现以上要求而写的,完全能正确实现,请欣赏,如果看了后你有所改进或有别的实现妙方,就请贴出来共同学习与分享吧。让我们为本网站更具实用,可读性强而努力!

 

#include "stdio.h"
main()
{ FILE *fp;
  int sum,xa,xb,xc,xd,xe;

  if((fp=fopen("58114_2.dat","w"))==NULL)  /* 创建结果文件 */
    { printf("cannot open this file.\n");
      exit(0);
     }

 sum=0;
 while(1)
  { if(60*sum-((sum+1)*30+(sum+1)*10+(sum+1)*5+(sum+1)*3)==660) break;  /* 这用了穷举法,利用了总数减前四人等于第五人的等价关系,等式两边同乘了60 */
    sum=sum++;
   }
xa=(sum+1)/2;                    /* 以下是求各自所得糖数 */
xb=((sum-xa)+1)/3;
xc=((sum-xa-xb)+1)/4;
xd=((sum-xa-xb-xc)+1)/5;
xe=sum-xa-xb-xc-xd;

fprintf(fp,"sum=%d\nxa=%d\nxb=%d\nxc=%d\nxd=%d\nxe=%d",sum,xa,xb,xc,xd,xe);  /* 结果写进文件 */
fclose(fp);
}


上一篇:c语言 全国计算机编程大赛复赛试题1   下一篇:c++ 数组与指针
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·c语言 最简单的推箱子游戏
·c语言 全国计算机编程大赛复赛试
·编译指示指令
·C语言基础07-C语言中的关键字
·C语言基础06-逻辑运算符和逻辑表
·C语言基础05-运算符和表达式
·C语言入门之分支结构04-2
·C语言入门之分支结构04-1
·C语言基础03-先学2个库函数
·C语言基础02-数据类型、运算符与
·C语言基础01-引言及预备知识
·C语言入门之数组(1)
  相关文章
·c语言 全国计算机编程大赛复赛试
·c语言 最简单的推箱子游戏
·编译指示指令
·C语言基础07-C语言中的关键字
·C语言基础06-逻辑运算符和逻辑表
·C语言基础05-运算符和表达式
·C语言入门之分支结构04-2
·C语言入门之分支结构04-1
·C语言基础03-先学2个库函数
·C语言基础02-数据类型、运算符与
·C语言基础01-引言及预备知识
·C语言入门之数组(1)
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763