南京邮电大学通达学院c语言程序教程.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京邮电大学通达学院 程序设计(上机)报告 题 目: R015M P008E 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 日 期 2015年5月 评 分 细 则评分项优秀良好中等及格不及格遵守机房规章制度上机表现学习态度基础知识水平程序设计能力课题功能实现情况算法设计合理性用户界面友好性报告书写认真程度报告内容完整性文字表达清楚程度问题回答准确性评 分 等 级 教师签名: 年月日备 注实验一 R015M判断点与多边形位置关系问题 一、问题描述:课题要求及总体功能描述 课题要求: 给定n个点的坐标,这n个点依次围成一闭合多边形,再给一点(x,y),判断它是否在多边形中。 总体功能描述: 首先随机输入一个大于2小于1000的整数n 利用循环结构产生n个坐标 输入需要判断的坐标(x,y) 利用判断语句与之前产生的n个坐标进行依次比较 得出判断结果 二、课题分析:分析解决问题的思路,描述功能模块分解及每个模块的输入,输出和功能 通过仔细分析问题,首先发现以下几个问题: 如何随机产生n个坐标? 如何将确定的坐标(x,y)与产生的n个坐标进行比较? 总结:发现本问题着重对循环结构、判断语句、输入输出语句有很高的要求。 本问题可以分解为4个功能模块: 利用循环语言,定义一个1000行2列的数组,每一行看成一个坐标点,在1000内输入一个n值,再输入n个坐标点,找出这些点x坐标的最大值和最小值,y坐标的最大值和最小值 模块一:n个坐标??生 输入确定的坐标(x,y) 模块二:输入目的坐标 利用判断语言,将目的坐标(x,y)坐标与n个坐标进行比较判断,判断是否在多边形内。 模块三:判断模块 通过对坐标的判断得出结果 模块四:得出判断结果 三、算法描述:自然语言 自然语言(其中S1,S2,S3…为算法步骤); S1输入一个大于2小于1000的整数n; S2输入n个坐标点; S3如果前一个坐标x值大于后一个,则max1=前一个x值,否则max1=后一个x值; S4如果前一个坐标x值小于后一个,则min1=前一个x值,否则min1=后一个x值; S5如果前一个坐标y值大于后一个,则max2=前一个y值,否则max2=后一个y值; S6如果前一个坐标y值大于后一个,则min2=前一个y值,否则min2=后一个y值; S7输入需要判断的坐标x,y; S8如果xmin1||xmax1||ymin2||ymax2,则在多边形外,否则,在多边形内; 四、源程序:重要的代码及其说明 #includestdio.h void main() {int n,i,j; float x,y,a[1000][2],min1,max1,min2,max2; printf(请输入一个大于2小于1000的整数:\n); scanf(%d,n); printf(请输入%d个坐标点\n,n); for(i=0;in;i++) for(j=0;j=1;j++) scanf(%f,a[i][j]); max1=a[0][0]; min1=a[0][0]; for(i=0;i=n;i++) {if(a[i][0]=a[i-1][0]) max1=a[i][0]; else max1=a[i-1][0]; if(a[i][0]=a[i-1][0]) min1=a[i][0]; else min1=a[i-1][0]; } max2=a[0][1]; min2=a[0][1]; for(i=0;i=n;i++) {if(a[i][1]=a[i-1][1]) max2=a[i][1]; else max2=a[i-1][1]; if(a[i][1]=a[i-1][1]) min2=a[i][1]; else min2=a[i-1][1]; } printf(请输入(x,y)坐标:\n); scanf(%f%f,x,y); if(xmin1||xmax1||ymin2||ymax2) printf(Not in the polygon); else printf(in the po

文档评论(0)

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

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

1亿VIP精品文档

相关文档