第二章 c语言简单计算问题.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 c语言简单计算问题

第二章 简单计算题 基本思想:解决简单计算问题的基本过程 包括将一个用自然语言描述的实际问题抽象成一个计算问题,给出计算过程,继而编程实现计算过程,并将计算结果还原成对原来问题的解答。 这里首要的是读懂问题,搞清输入和输出数据的含义及给出的格式, 并且通过输入输出样例验证自己的理解是否正确。 鸡兔同笼问题 笼子里关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物? 输入数据 第一行是测试数据的组数n,后面跟着n行输入。每组数据占一行,每行包含一个正整数a (a32768) 输出要求 输出n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。如果没有满足要求的答案,则输出两个0 解题思路 本问题可描述成任给一个整数N,如果N是奇数,输出0 0,否则如果N是4的倍 数,输出N/4 N/2,如果N不是4的倍数,输出N/4+1 N/2。 这是一个一般的计算题,只要实现相应的判断和输出代码就可以了。输入整数在一个较小范围,只考虑整数运算。 鸡兔同笼问题 #include stdio.h void main( ) { int nCases, i, nFeet; scanf(%d, nCases); for (i = 0; i nCases; i++){ scanf(%d, nFeet); if (nFeet %2 != 0) printf(0 0\n); else if (nFeet%4 != 0) printf(%d %d\n, nFeet /4+1, nFeet / 2); else printf(%d %d\n, nFeet /4, nFeet / 2); } } 棋盘上的距离 国际象棋的棋盘是黑白相间的8*8的方格,棋子在格子中间,走子规则如下: 王:横、直、斜都可以走,但每步限走一格 后:横、直、斜都可以走,每步格数不受限制 车:横、竖均可以走,不能斜走,格数不受限制 象:只能斜走,格数不限 棋盘上的距离 输入数据 测试数据的组数t。每行测试数据包括棋盘上起始位置和目标位置。位置用字母-数字形式表示, 字母从a到h,数字从1到8。 输出要求 对输入的每组测试数据,输出王、后、车、象所需的最少步数。 无法到达输出 Inf 解题思路 王、后、车、象彼此独立,分别考虑,假设起始位置与终止位置在水平方向上的距离是x,它们在竖直方向上的距离是y 王需要的步数是 min(x,y)+abs(x-y) 后需要步数是1(x等于y 或x等于0 或y等于0)或者2(x不等于y)。 车需要步数为1(x 或者y 等于0)或者2(x 和y 都不等于0)。 象每走一步,横、纵坐标增加或减小的绝对值相等,坐标之差的奇偶性保持不变。因此当奇偶性不同,无法到达。如果相同,从起始点走到终止点需要 1(x与y的绝对值相等)或者2(x与y的绝对值不相等) 棋盘上的距离 #include stdio.h #include math.h void main( ) { int nCases, i; scanf(%d, nCases); for(i = 0; i nCases; i++) {char begin[5], end[5]; scanf(%s %s, begin, end); int x, y; x =abs(begin[0] - end[0]); y =abs(begin[1] - end[1]); 校门外的树 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间间隔是1米。将马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。 任务:计算将这些树移走后,马路上还有多少树? 填词 Alex喜欢填词游戏。填词游戏包括一个N*M大小的矩形方格盘和P个单词。然后需要把每个方格中填上一个字母使得每个单词都能在方格盘上被找到。每个单词都能被找到要满足下面的条件 每个方格都不能同时属于超过一个的单词。一个长为k的单词一定要占据k个方格。单词在方格盘中出现的方向只能是竖直的或者水平的。 你的任务是首先在方格盘上找到所有的单词,当然

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档