吉林大学程序设计基础教材-模块化程序设计--函数

吉林大学程序设计基础教材-模块化程序设计--函数

ID:38601395

大小:1.37 MB

页数:59页

时间:2019-06-16

吉林大学程序设计基础教材-模块化程序设计--函数_第1页
吉林大学程序设计基础教材-模块化程序设计--函数_第2页
吉林大学程序设计基础教材-模块化程序设计--函数_第3页
吉林大学程序设计基础教材-模块化程序设计--函数_第4页
吉林大学程序设计基础教材-模块化程序设计--函数_第5页
资源描述:

《吉林大学程序设计基础教材-模块化程序设计--函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章模块化程序设计-函数求给定三角形的外心—模块化程序设计函数程序设计实例【例5.1】求给定三角形的外心CB图5.1三角形外心YXAdefOEFD输入三个顶点坐标求垂直平分线e求垂直平分线f图5.2求三角形外心的PAD求e、f交点OO点即为外心,输出其坐标以e为例,求解垂直平分线图5.3求垂直平分线e求AC边的中点E求AC边的直线方程求过E点的与AC垂直的直线的直线方程假设A点坐标为xa、yaB点坐标为xb、ybC点坐标为xc、ycAC边的中点E的坐标为xe、yeAC边的直线方程表示为Y=a1*X+b1AB边的直线

2、方程表示为Y=a2*X+b2AC边垂直平分线e的直线方程为Y=u1*X+v1AB边垂直平分线f的直线方程为Y=u2*X+v2输入三个顶点坐标图5.4求三角形外心的完整PADxo=(u2-u1)/(v2-v1);yo=u1*xo+v1;O点即为外心,输出其坐标xe=(xa+xc)/2;ye=(ya+yc)/2;a1=(ya-yc)/(xa-xc);b1=ya-a1*xa;u1=-1/a1;v1=ye-u1*xexf=(xa+xb)/2;yf=(ya+yb)/2;a2=(ya-yb)/(xa-xb);b2=ya-a1*x

3、a;u2=-1/a2;v2=yf-u2*xf#include//括入标准输入输出函数库头文件voidmain(){//主函数floatxa,ya,xb,yb,xc,yc;//分别保存三角形三个顶点的X、Y方向坐标floatxe,ye;//AC边的中点E的坐标floatxf,yf;//AB边的中点F的坐标floata1,b1;//AC边的直线方程系数floata2,b2;//AB边的直线方程系数floatu1,v1;//AC边的垂直平分线的直线方程系数floatu2,v2;//AB边的垂直平分线的直线

4、方程系数floatxo,yo;//外心O的坐标/*输入三个点的X、Y方向坐标*/printf("pleaseinputxa,ya,xb,yb,xc,yc:");scanf("%f%f%f%f%f%f",&xa,&ya,&xb,&yb,&xc,&yc);/*求AC边垂直平分线e*/xe=(xa+xc)/2;//先求AC边的中点Eye=(ya+yc)/2;a1=(ya-yc)/(xa-xc);//再求过A、C两点的直线方程b1=ya-a1*xa;u1=-1/a1;//求过E点的与AC垂直的直线的直线方程v1=ye-u

5、1*xe;/*求AB边垂直平分线f*/xf=(xa+xb)/2;//先求AB边的中点Eyf=(ya+yb)/2;a2=(ya-yb)/(xa-xb);//再求过A、B两点的直线方程b2=ya-a1*xa;u2=-1/a2;//求过F点的与AC垂直的直线的直线方程v2=yf-u2*xf;/*求e,f交点O*/xo=(u2-u1)/(v2-v1);yo=u1*xo+v1;/*打印输出*/printf(“外心坐标:x=%10.3fy=%10.3f”,xo,yo);}计算过程一致,而参与运算的数据不同【例5.2】用函数改

6、写例5.1的程序#include//括入标准输入输出函数库头文件1/*求垂直平分线:参数:两个顶点r、s的x、y坐标*/floataa;//全局变量,用于保存传递rs边的垂直平分线的直线方程斜率2floatlines(floatxr,floatyr,floatxs,floatys){//3floatxt,yt;//中点T的坐标4floata,b;//过r、s两点的直线方程系数5/*先求中点T*/xt=(xr+xs)/2;//6yt=(yr+ys)/2;//7/*再求过r、s两点的直线方程rs*/a=

7、(yr-ys)/(xr-xs);//8b=yr-a*xr;//9/*求过中点T的与rs垂直的直线方程*/aa=-1/a;//计算斜率aa10returnyt-aa*xt;//计算截距b,并带着b值返回11}voidmain(){//主函数13floatxa,ya,xb,yb,xc,yc;//分别保存三角形三个顶点的X、Y坐标14floatu1,v1;//AC边的垂直平分线的直线方程系数15floatu2,v2;//AB边的垂直平分线的直线方程系数16floatxo,yo;//外心O的坐标17/*输入三个点的X、Y方向

8、坐标346360416108116212*/printf("pleaseinputxa,ya,xb,yb,xc,yc:");//18scanf("%f%f%f%f%f%f",&xa,&ya,&xb,&yb,&xc,&yc);/*求AC边垂直平分线e*/v1=lines(xa,ya,xc,yc);//截距20u1=aa;//斜率21/*求AB

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

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

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