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

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

ID:59221196

大小:321.02 KB

页数:13页

时间:2020-09-09

南京邮电大学通达学院c语言程序报告.docx_第1页
南京邮电大学通达学院c语言程序报告.docx_第2页
南京邮电大学通达学院c语言程序报告.docx_第3页
南京邮电大学通达学院c语言程序报告.docx_第4页
南京邮电大学通达学院c语言程序报告.docx_第5页
资源描述:

《南京邮电大学通达学院c语言程序报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、南京邮电大学通达学院程序设计(上机)报告题目:R015MP008E专业学生姓名班级学号指导教师日期2015年5月评分细则评分项优秀良好中等及格不及格遵守机房规章制度上机表现学习态度基础知识水平程序设计能力课题功能实现情况算法设计合理性用户界面友好性报告书写认真程度报告内容完整性文字表达清楚程度问题回答准确性评分等级教师签名:年月日备注实验一R015M判断点与多边形位置关系问题一、问题描述:课题要求及总体功能描述课题要求:给定n个点的坐标,这n个点依次围成一闭合多边形,再给一点(x,y),判断它是否在多边形中。总体功能描述:1.首先随机输入一个大于2小于

2、1000的整数n2.利用循环结构产生n个坐标3.输入需要判断的坐标(x,y)4.利用判断语句与之前产生的n个坐标进行依次比较5.得出判断结果二、课题分析:分析解决问题的思路,描述功能模块分解及每个模块的输入,输出和功能通过仔细分析问题,首先发现以下几个问题:1、如何随机产生n个坐标?2、如何将确定的坐标(x,y)与产生的n个坐标进行比较?总结:发现本问题着重对循环结构、判断语句、输入输出语句有很高的要求。本问题可以分解为4个功能模块:利用循环语言,定义一个1000行2列的数组,每一行看成一个坐标点,在1000内输入一个n值,再输入n个坐标点,找出这些点

3、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如果前

4、一个坐标y值大于后一个,则max2=前一个y值,否则max2=后一个y值;S6如果前一个坐标y值大于后一个,则min2=前一个y值,否则min2=后一个y值;S7输入需要判断的坐标x,y;S8如果x

5、

6、x>max1

7、

8、y

9、

10、y>max2,则在多边形外,否则,在多边形内;四、源程序:重要的代码及其说明#includevoidmain(){intn,i,j;floatx,y,a[1000][2],min1,max1,min2,max2;printf("请输入一个大于2小于1000的整数:");scanf("%d",

11、&n);printf("请输入%d个坐标点",n);for(i=0;i=a[i-1][0])max1=a[i][0];elsemax1=a[i-1][0];if(a[i][0]<=a[i-1][0])min1=a[i][0];elsemin1=a[i-1][0];}max2=a[0][1];min2=a[0][1];for(i=0;i<=n;i++){

12、if(a[i][1]>=a[i-1][1])max2=a[i][1];elsemax2=a[i-1][1];if(a[i][1]<=a[i-1][1])min2=a[i][1];elsemin2=a[i-1][1];}printf("请输入(x,y)坐标:");scanf("%f%f",&x,&y);if(x

13、

14、x>max1

15、

16、y

17、

18、y>max2)printf("Notinthepolygon");elseprintf("inthepolygon");}五、实验结果分析与讨论:描述不同条件下得到的实验结果;并讨论你所实现代码的优

19、缺点,以及扩展思路调试记录:测试1:出现数据错误,需要输入大于5个的坐标,输入2个(x,y)的坐标******以下运行结果窗口截图*****反思:经过认真查找,发现缺少语句printf("Inputn:");测试2:仍然出现数据错误,需要输入大量坐标数据,且跳过输入(x,y)的值便得出结果。******以下运行结果窗口截图*****反思:依然是漏掉了语句,反复排查后发现是scanf("%lf%lf",&x,&y);******以下是正确程序后运行结果窗口截图****结果分析:程序可依照输入,得到想要的结果,依次判断出坐标是否在多边形内;优点:可快速

20、得到结果缺点:程序较为繁琐,编译较为困难。出现这个问题源于在程序分析之初没有仔细推敲程序的结构

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。