C语言及设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言及设计报告

浙江万里学院 集中实践课程报告 课程名称: C程序设计实践 系 别: 专业班级: 姓名: 学号: 起止日期: 2012年9月3日-2012年9月14日 1 实践主要内容 1.1 :绘制余弦曲线和直线的叠加问题。要求cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。cos(x)用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(x)图形的符号。关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。解决这类问题的基本方法是先进行分析,找出游戏对弈的规律性,然后让计算机按照游戏的规则,模拟人进行游戏。行方向算法,计算机每次搬山应遵循如下原则:1) 当:剩余山数目-1=可移动的最大数k时计算机要移(剩余山数目-1)座,以便将最后一座山留给人。 2)对于任意正整数x,y,一定有:0=x%(y+1)=y为,又要控制每次搬山数不超过最大数,(n-1)%(k+1)。若结果为0,即整除无余数,则规定只搬1座山,以防止冒进后发生问题。计算出同一行中两个图形的列方向点坐标找出游戏对弈的规律性,按照游戏的规则,yy=0,屏幕行坐标y=0.1*yy,再利用m=acos(1-y)*10和n=45*(y-1)+31y求出曲线和直线上所对应的横坐标m,n。 接着利用循环结构for(x=0;x=62;x++),用if语句将该行每个横坐标输出相应的符号。如果屏幕坐标x=n 或者x=mx=n,那么在屏幕上显示的就是“+”,如果屏幕坐标x=m, 那么在屏幕上显示的就是“*”,否则就用“ ”代替。 结构图 搬山游戏设计; 首先输出提示语句,再输出How many mountains are there,对n赋值。若n不为0,则同理对k赋值,满足Kn||k1时,再输出对x赋值。当满足x1||xk||xn时,计算剩下的值再输出There are %d mountains left now对值进行判断。若为0,则输出I win. You are failure,反之用y=(n-1)%(k+1),求出最佳搬山数,并输出。再计算剩余n并输出。判断n的值,若不为0,返回上步。反之输出I am failure. You win。接着重新循环下一局,询问是否要继续比赛。若否,则输出玩的次数以及得分和Game over! 3.3 详细设计 1绘制余弦曲线和直线的叠加问题; #includestdio.h #includemath.h void main() { double y; int x,m,n,yy; printf(========This program shows the curve of cos(x)and a line======\n) ; printf( ****** f(x)=cos(x) ++++++ g(x)=45*(y-1)+31\n); for(yy=0; yy=20; yy++)/对第一个y坐标进行计算并在一行中打印图形/ { y=0.1*yy; /y:屏幕行方向坐标/ m=acos(1-y)*10; /m: cos(x)曲线上y点对应的屏幕列坐标/ n=45*(y-1)+31; /n: 直线上y点对应的列坐标/ for(x=0;x=62;x++) /x: 屏幕列方向坐标/ if(x==mx==n) printf(+); /直线与cos(x)相交时打印+/ else if(x==n) printf(+); /打印不相交时的直线图形/ else if (x==m||x==62-m) printf(*);/打印不相交时的cos(x)图形/ else printf( ); /其它情况打印空格/ printf(\n); }} 2. 搬山游戏问题: #includestdio.h void main() { int n,k,x,y,cc,pc,g; printf(******************************************************\n); printf(* This is Moutain Moveing Game. *\n); printf(* This are n mountains,two personsmove them in *\n); printf(* turn.Each one each time moves 1 to k mountains,the *\n)

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档