C语言课程设计

上传人:灯火****19 文档编号:30209771 上传时间:2021-10-09 格式:DOCX 页数:24 大小:252.22KB
收藏 版权申诉 举报 下载
C语言课程设计_第1页
第1页 / 共24页
C语言课程设计_第2页
第2页 / 共24页
C语言课程设计_第3页
第3页 / 共24页
资源描述:

《C语言课程设计》由会员分享,可在线阅读,更多相关《C语言课程设计(24页珍藏版)》请在装配图网上搜索。

1、分屏处理数据系统一、设计内容随机产生1000个数,并分屏显示(每行显示10个数字,每页显示10行),而且在每一屏 的下方显示本屏中数据的最大值、最小值和平均值。提示:循环显示,在分屏点上输出 press any key to continue。,通过getchar()ii数让用户以 按回车键的方式进入下一屏。二、方案设计与论证生成一个随机数,放入二维数组,输出。每输出十个一个回车。调用自定义函数求这个数组的最大最小值,平局值。据下回车清屏。循环十次。三、程序运行结果(截图)7U3559白一V313T17彳?7J622?T7热内71把i71制15124758外跖894324362?16S8?22

2、76S卜.1711n.61心S2甘&951小18hi徜467S7Vb12B5F343942314同1994316?17234G胃161531千1aih最小.平均q51 Epwse any key to continue!4!GH1b494TV弋U4lb3:975,56S5582学951二:T70臂心328鹘hft7HW7239H55酒57H州yu7b4孽222314?b7XWE12B4心7731TH如SI13270i晒as招52a?bfb7444 J7712743Z%MlIS骡13当电541557243;17617417314!腿SBQ9X最小平均.S3-SI7res* any 加y Id c

3、antinuB四、心得体会运行时数字挤在一起,最后一行输出十个,每输出一行一个回车;五、参考资料与致谢查找书本清屏,随机函数的写法。六、源程序#include#include#include#define MAX 99#define MIN 0int 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(NULL);for(i=1;i=10;i+)/ 显示十页for(j=1,x=1;j=10;j+)/ 显示十行for

4、(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=0;i=z)z=ai;else if(aiz)z=z;return z;int mi(int a120)/ 最小

5、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;编辑版 word求积分设计内容小明最近在学高等数学,被数学里面的微积分难倒了。但小明编程能力很强,于是 他就突发奇想,看能不能用编程的方法来帮助理解数学的学习。以下是他想求解的 问题:请编程求解y的值,并分析y的值与乙的关系。(提示:如下图,按照积分的原理,将函数区间切分为非常小的长方形,其

6、中长方形的宽度为切分的间距长方形的高度为方格所在横坐标对应的函数值七),则图中第个小长方形(阴影部分)面积为* 二幺*晨工),而最终函数的积分值为所有小方格的面积之和。)0.128二、方案设计与论证将不规则图形分割成小矩形,最后求和。三、程序运行结果(截图)0.127&4?Pi*ess any key to continue四、心得体会将不规则图形分的越多,面积越准确。五、参考资料与致谢查找积分的几何意义。六、源程序#include #define N 100000 int main() float x,sum;int i;for(i=1,sum=0,x=1;i=N;i+) sum=sum+(

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

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

9、70;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(q50)continue;else if(q=5

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

11、=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;编辑版word2阶曲线绘制一、设计内容2阶曲线公式可描述为y =劭 + axi + 3

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

13、0,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+)for(j=1;j

14、);else if(aij=6)printf(A);printf(n);return 0;编辑版 word概率法求圆周率设计内容如下图所示,设一直角坐标系中,有一边长为1的正方形,以原点为中心 1为半径,在正方形中回一扇形(1/4圆)。概率法求解圆周率的过程为:随机产生n个范围在(0,1)之间的点,若其中有 m个点落于扇形中,则 4 x - ny1x提示:根据圆的特点, 炉+产=判断随机生成的点是否在扇形内。二、方案设计与论证随机产生01之间的小数,赋值给 x, V。计算xA2+yA2是否=1。循环,让数据更准确。三、程序运行结果(截图)四、心得体会随机数并不是真正意义上的随机数。五、参考资料

15、与致谢RAND_MAX是rand()随机产生的最大数。六、源程序#include #include #include #include int 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)=1)k+;pi=4*(k*1.0/10000);printf(%f,pi);return 0;推箱子游戏设计设计内容功能:实现简易小人推箱子游戏,游戏过程:(1)初始时,小人在窗口的

16、左上角位置,箱子在小人的右侧;(2)在小人前方随机生成若干个阻碍物;(3)在窗口的右侧随机生成一个出口;(4)要求小人能够将箱子推到窗口右侧出口。基本要求:1用键盘上、下、左、右按键控制小人移动。2在小人前方随机生成若干个阻碍物和一个箱子。3小人必须推箱子,而不能拉箱子。4小人必须穿过阻碍物之间的空隙,到达出口。5小人进入出口时提示游戏成功。6小人无路可走时提示游戏失败。7小人每移动一步在窗口的左下角显示当前已经移动的步数。8用户可自行放弃游戏提示:小人可以用“ 9 ”表示(ASCII码值为12),阻碍物可用“受”表示(ASCII 码值为5),推箱子可用“ ”表示(ASCII码值为30)。if

17、ilr ml 3-vl T k ni Ink irE-i At MT *,3不忖 If it % .、方案设计与论证利用整形二维数组,围一个(025) * (081)的空间。全部赋值为0。最边上一圈为墙,用 1表示。随机生成墙,出口。人用7表不。方块用4表示。用Getch读取上下左右,计算人,方块的坐标。输出,逢。输出空格,逢1输出墙,逢7输出人,逢4输出方块。编辑版word三、程序运行结果(截图)四、心得体会上下左右的读入有点小困难,在网上找了好久。 控制台行间距太大,看起来很难受。五、参考资料与致谢按照网上的方法,getch上下左右,输出前都有“-32六、上下左右72807577源程序#i

18、nclude#include#include int main()(int a40100;int i,j,k,m,n,p,q,bu,cheng,zhong;srand(unsigned)time(NULL);for(i=1;i=23;i+)/ 画空气 0(for(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(i=m)continue;aip=1;am+1p=0;for(i=1;i=23;i+)(if(i=n)continue;aiq=1;an+1q=

19、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=j;else if(aij=4)printf(%c,30);p=i;q=j;printf(n);printf(总共 步。(ESC 退出)n

20、,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!=(n-1)&m=p)|m!=p)/ 箱子不在if(amn-1=1);/ 人左边是墙else if(amn-1!=1) / 人左边不

21、是墙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;编辑版 wordamn+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=O;amn+1=7;bu+;n=n+1;)else if(k=72)(if(p=(m-1 )&n=q)(if(

22、ap-1q=1);else if(ap-1q!=1) (apq=o;ap-1q=4;amn=O;am-1n=7;bu+; P=P-1;)else if(p!=(m-1)&n=q)|n!=q)(if(am-1n=1);else if(am-1n!=1) (amn=O;am-1n=7;bu+;)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;(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,编辑版word供参考,感谢您的配合和支持)编辑版 word

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!