C语言课程设计 .docx

上传人:小飞机 文档编号:4883876 上传时间:2023-05-21 格式:DOCX 页数:25 大小:105.49KB
返回 下载 相关 举报
C语言课程设计 .docx_第1页
第1页 / 共25页
C语言课程设计 .docx_第2页
第2页 / 共25页
C语言课程设计 .docx_第3页
第3页 / 共25页
C语言课程设计 .docx_第4页
第4页 / 共25页
C语言课程设计 .docx_第5页
第5页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言课程设计 .docx》由会员分享,可在线阅读,更多相关《C语言课程设计 .docx(25页珍藏版)》请在三一办公上搜索。

1、分屏处理数据系统re一、设计内容随机产生1000个数,并分屏显示(每行显示10个数字,每页显示10行),而且在每一 屏的下方显示本屏中数据的最大值、最小值和平均值。提示:循环显示,在分屏点上输出press any key to continue,通过getchar()函数让用户 以按回车键的方式进入下一屏。二、方案设计与论证生成一个随机数,放入二维数组,输出。每输出十个一个回车。调用自定义函数求这个数组的最大最小值,平局值。摁下回车清屏。循环十次。三、程序运行结果(截图)%9 iB15&E-曙99G914 -:|网35T174773&215芝早昨苫网79功2719571151247$86886

2、龄62A73627105B722765K9&2175-4砧Itbl95052ye.51砧10746?97呼6听12拙695323141979S343M 1 陨大”最小!mny fey6717! 0 平均51.21to comtiniLiie:Jb,-234616153145珀一164 一94一 7? 一一豹一队-“一25829756852395273947R驱龄9732895耶7H3072a552B57拥90?67522231354?67?n6A1254627721TO腿53132?n7E磨2E520767L-b437712.MW7631lb能uWW155心435176174173H1-165

3、5H9L IH7. J叫最小t anp tejyB 平均.E2.H7 to CDmtinueB,J四、心得体会运行时数字挤在一起,最后一行输出十个,每输出一行一个回车;五、参考资料与致谢查找书本清屏,随机函数的写法。六、源程序#include #include #include #define MAX 99 #define MIN 0 int main() int ma(int a120); int mi(int a120); float v(int a120); int i,j,k,max,min,a120; float avg; int x; srand(unsigned)time(NUL

4、L); for(i=1;i=10;i+)显示十页 for(j=1,x=1;j=10;j+)显示十行 for(k=1;k=10;k+,x+)显示十个 ax=rand()%(MAX-MIN+1)+MIN; printf(%d ”,ax); printf(n); max=ma(a); min=mi(a); avg=v(a); printf(最大:%d 最小:%d 平均:%.2fn,max,min,avg); printf(请按回车键进入下一屏。); getchar();下一页system(cls);清屏 return 0; int ma(int a120)最大 int i,z; for(i=1,z=

5、0;i=z)z=ai; else if(aiz)z=z;return z;int mi(int a120)最小int i,z;for(i=1,z=999999999;i=z)z=z;else if(aiz)z=ai;return z;float v(int a120)平均int sum=0,i;float z;for(i=1;i=100;i+)sum=sum+ai;z=sum*1.0/100;return z;求积分、设计内容小明最近在学高等数学,被数学里面的微积分难倒了。但小明编程能力很强,于是 他就突发奇想,看能不能用编程的方法来帮助理解数学的学习。以下是他想求解的 问题:r 1请编程求解

6、:的值,并分析.的值与弓的关系。(提示:如下图,按照积分的原理, 将函数区间切分为非常小的长方形,其中长方形的宽度为切分的间距_,长方形的 高度为方格所在横坐标对应的函数值:,则图中第:个小长方形(阴影部分)面 积为二一 -,而最终函数的积分值为所有小方格的面积之和。)0.128y= f(x)七;J I I bl. 1 I二、方案设计与论证将不规则图形分割成小矩形,最后求和。三、程序运行结果(截图)四、心得体会将不规则图形分的越多,面积越准确。五、参考资料与致谢查找积分的几何意义。六、源程序#include#define N 100000 int main() float x,sum;int

7、i;for(i=1,sum=0,x=1;i=N;i+)sum=sum+(1.0/(x*x+4*x)*(1.0/N);x=x+1.0/N;printf(%f”,sum);return 0;求离群点、设计内容随机生成一组位于二维坐标系中的点集(集合大小小于50),点集中每个点的位置 由x轴分量和y轴分量组成,且1壬x80, 1勺壬80。求这组点集中的离群点。(离群点定义:远离点集一般水平的极端大值和极端小 值)。要求:若有离群点,请输出离群点的坐标;若无离群点,则输出“No outliers!”, 将离群点在终端用#输出表示,非离群点用*输出表示,显示方式如下图所示。提示:离群点判断的方法不止一种

8、,例如,可借助点集所有的数据的平均值为圆心, 以所有点集到圆心的平均距离为半径,所构成的圆。在圆中的为正常点,否则为离 群点。二、方案设计与论证开一个90*90的数组,并随机生成50个点。再开一个90*90的数组,计算50个点到80*80个点的平均距离,找到最小的(离群点)。计算所有点到离群点的距离,小于等于就为正常点,否则为离群点。三、程序运行结果(截图)由于行间距不对,所以看起来很怪,本来是正方形的。 没有离群点的概率太小了.五、参考资料与致谢参考题目的提示来写的。参考随机数生成法。六、源程序#include#include#include#define MAX 80#define MIN

9、 1 int main() int a9090,b170;float r9090,min;int i,j,k,m,n,q=0,x,y,l;srand(unsigned)time(NULL);for(i=1;i=80;i+)/准备工作,全为 0for(j=1;j=80;j+)aij=0;rij=0.0;for(1;1;1)for(i=1;i=160;i+)/取随机数bi=rand()%(MAX-MIN+1)+MIN;for(j=2;j=160;j=j+2)m=bj;n=bj-1;if(amn=1)continue;else if(amn!=1)amn=1;q+; if(q=50)break;if

10、(q50)continue;else if(q=50)break;for (i=l; i=80; i+)/计算平均圆心距for(j=l;j=80;j+)for (m=l;m=80;m+)for (n=l;n=80;n+)if (amn=1)x=m-i;x=abs(x);x二x*x;y=n-j;y=abs (y);y二y*y;ri j=ri j+sqrt (x+y);ri j=ri0/50;for (i=l, min=r 1 1 ; i=80; i+)/找最小for(j=l;j=80;j+)if(rijmin)min=min;/判断该点是什么类型for(1=0, i=l,k=0;i=80;i+)

11、for(j=l;j=80;j+)if(aij=1)x=m-i;x=abs(x);x=x*x;y=n-j;y=abs(y);y=y*y;if(sqrt(x+y)min)aij=2;l+;if(l=0)printf(No outliers!);elsefor(i=1;i=80;i+)/输出for(j=1;j=80;j+)if(aij=0) printf();else if(aij=2) printf(#);else if(aij=3) printf(*);printf(n);printf(n);n=80-n;printf(%d,%d)n,m,n);return 0;2阶曲线绘制、设计内容2阶曲线公

12、式可描述为y =为+ ayx1 +做妒其中,心为曲线的参数,由用户手动输入。请编程绘制出该曲线的图形,坐标原点,y轴正方向,x轴正方向,如下图所示提示:可利用二维数组预先计算并存储每个点(图中用“糅示)的坐标,然后利用 循环一次性输出图形。二、方案设计与论证开一个400*80的二维数组(以中心点做原点)。再开一个数组,计算-4040的x代入方程的所得值。如果这个值大于200或小于-200,就计算下一个。输出。三、程序运行结果(截图)四、心得体会由于WIN10于VC6.0不兼容,输出图形变形,于是输出一行一个回车。五、参考资料与致谢六、源程序#includeint main()float a0,

13、a1,a2,a42090,zhi90;float ;int i,j,k,x,y;scanf(%f %f %f”,&a0,&a1,&a2);for(i=1;i=401;i+)/准备for(j=1;j=85;j+)aij=0;for(i=1;i=79;i+)/建坐标系a201i=1;for(i=1;i=401;i+)ai40=2;a140=6;a20140=4;a20179=5;for(i=-39,j=1;i=39;i+,j+)/算 y 值zhij=a0+a1*i+a2*i*i;for(i=1;i=200|y=-200)continue;y=201-y;ayi=3;for(i=1;i=401;i+

14、)for(j=1;j);else if(aij=6)printfDprintf(n);return 0;概率法求圆周率、设计内容如下图所示,设一直角坐标系中,有一边长为1的正方形,以原点为中心1为半径, 在正方形中画一扇形(1/4圆)。概率法求解圆周率的过程为:随机产生n个范围在 (0,1)之间的点,若其中有m个点落于扇形中,则JT 二 4 X 电O1 x提示:根据圆的特点,广判断随机生成的点是否在扇形内。二、方案设计与论证随机产生01之间的小数,赋值给x,y。计算xA2+yA2是否=1。循环,让数据更准确。三、程序运行结果(截图)-144400Piess any key to cont in

15、 Lie四、心得体会随机数并不是真正意义上的随机数。五、参考资料与致谢RAND_MAX是rand()随机产生的最大数。六、源程序#include#include#include#includeint main()float x,y,pi;int i,k;srand(unsigned)time(NULL);for(k=0,i=1;i=10000;i+)x=rand()*1.0/RAND_MAX;y=rand()*1.0/RAND_MAX;if(sqrt(x*x+y*y)itifiji! Iw-n in *n ir Hua , -cant d-n-M-u-H四、心得体会上下左右的读入有点小困难,在

16、网上找了好久。控制台行间距太大,看起来很难受。五、参考资料与致谢按照网上的方法,getch上下左右,输出前都有“-32”上72下80左75右77六、源程序#include#include#includeint main()int a40100;int i,j,k,m,n,p,q,bu,cheng,zhong;srand(unsigned)time(NULL);for(i=1;i=23;i+)/画空气 0for(j=1;j=80;j+)aij=0;for(i=0;i=85;i+)a0i=1;a24i=1;for(i=0;i(p+4)|q(p-4)break;for(i=1;i=23;i+)if(

17、i=m)continue;aip=1;am+1p=0;for(i=1;i=23;i+)if(i=n)continue;aiq=1;an+1q=0;zhong=rand()%21+2; /随机终点azhong-180=1;azhong-179=1;azhong+180=1;azhong+179=1;a11=7;人a22=4;箱子for(bu=0,cheng=9;1;1)for(i=1;i=23;i+)for(j=1;j=80;j+)if(aij=0) printf();else if(aij=1) printf(%c”,5);else if(aij=7)printf(%c”,12);m=i;n=

18、j;else if(aij=4)printf(%c”,30);p=i;q=j;printf(n);printf(总共d 步。(ESC 退出)n”,bu);if(cheng=1)printf(游戏成功!); break;else if(cheng=0)printf(游戏失败!); break;k=getch();if(k=27)break;if(k=75)/左if(q=(n-1)&m=p)/箱子在左边if(amq-1=1);/箱子左边是墙else if(amq-1!=1)/箱子左边不是墙amq=0;amq-1=4;amn=0;amn-1=7;bu+;q=q-1;n=n-1;else if(q!

19、= (n-1)&m=p)|m!=p)/箱子不在if(amn-1=1);人左边是墙else if(amn-1!=1)/人左边不是墙amn=0;amn-1=7;bu+;n=n-1;else if(k=77)if(q=(n+1)&m=p)/箱子在右边if(amq+1=1);/箱子右边是墙else if(amq+1!=1)/箱子右边不是墙amq=0;amq+1=4;amn=0;amn+1=7;bu+;q=q+1;n=n+1;else if(q! = (n+1)&m=p)|m!=p)/箱子不在if(amn+1=1);人右边是墙else if(amn+1!=1)/人右边不是墙amn=0;amn+1=7;b

20、u+;n=n+1;else if(k=72)if(p=(m-1)&n=q)if(ap-1q=1);else if(ap-1q!=1)apq=0;ap-1q=4;amn=0;am-1n=7;bu+;P=p-1;m=m-1;else if(p!=(m-1)&n=q)|n!=q)if(am-1n=1);else if(am-1n!=1)amn=0;am-1n=7;bu+;m=m-1;else if(k=80)if(p=(m+1)&n=q)if(ap+1q=1);else if(ap-1q!=1)apq=0;ap+1q=4;amn=0;am+1n=7;bu+;P=p+1;m=m+1;else if(p!=(m+1)&n=q)|n!=q)if(am+1n=1);else if(am+1n!=1)amn=0;am+1n=7;bu+;m=m+1;if(m=zhong&n=79&p=zhong&q=80)cheng=1;else if(p=1)|(p=23)|(q=1)|(q=80)cheng=0;system(cls);return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号