C语言课程设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分屏处理数据系统

一、设计内容

随机产生1000个数,并分屏显示(每行显示10个数字,每页显示10行),而且在每一屏的下方显示本屏中数据的最大值、最小值和平均值。

提示:循环显示,在分屏点上输出press any key to continue…,通过getchar()函数让用户以按回车键的方式进入下一屏。

二、方案设计与论证

生成一个随机数,放入二维数组,输出。每输出十个一个回车。

调用自定义函数求这个数组的最大最小值,平局值。

摁下回车清屏。

循环十次。

三、程序运行结果(截图)

四、心得体会

运行时数字挤在一起,最后一行输出十个,每输出一行一个回车;

五、参考资料与致谢

查找书本清屏,随机函数的写法。

六、源程序

#include

#include

#include

#define MAX 99

#define MIN 0

int main()

{

int ma(int a[120]);

int mi(int a[120]);

float v(int a[120]);

int i,j,k,max,min,a[120];

float avg;

int x;

srand((unsigned)time(NULL));

for(i=1;i<=10;i++) //显示十页

{

for(j=1,x=1;j<=10;j++) //显示十行

{

for(k=1;k<=10;k++,x++) //显示十个

{

a[x]=rand()%(MAX-MIN+1)+MIN;

printf("%d ",a[x]);

}

printf("\n");

}

max=ma(a);

min=mi(a);

avg=v(a);

printf("最大:%d 最小:%d 平均:%.2f\n",max,min,avg);

printf("请按回车键进入下一屏。");

getchar(); //下一页

system("cls"); //清屏

}

return 0;

}

int ma(int a[120]) //最大

{

int i,z;

for(i=1,z=0;i<=100;i++)

{

if(a[i]>=z)z=a[i];

else if(a[i]

}

return z;

}

int mi(int a[120]) //最小{

int i,z;

for(i=1,z=999999999;i<=100;i++)

{

if(a[i]>=z)z=z;

else if(a[i]

}

return z;

}

float v(int a[120]) //平均{

int sum=0,i;

float z;

for(i=1;i<=100;i++)

{

sum=sum+a[i];

}

z=sum*1.0/100;

return z;

}

求积分

一、设计内容

小明最近在学高等数学,被数学里面的微积分难倒了。但小明编程能力很强,于是他就突发奇想,看能不能用编程的方法来帮助理解数学的学习。以下是他想求解的问题:

请编程求解错误!未找到引用源。的值,并分析错误!未找到引用源。的值与错误!未找到引用源。的关系。(提示:如下图,按照积分的原理,将函数区间切分为非常小的长方形,其中长方形的宽度为切分的间距错误!未找到引用源。,长方形的高度为方格所在横坐标对应的函数值错误!未找到引用源。,则图中第错误!未找到引用源。

个小长方形(阴影部分)面积为错误!未找到引用源。,而最终函数的积分值为所有小方格的面积之和。)0.128

二、

y =f(x)

∆x

|{z}

|{z}

x i

二、方案设计与论证

将不规则图形分割成小矩形,最后求和。

三、程序运行结果(截图)

四、心得体会

将不规则图形分的越多,面积越准确。

五、参考资料与致谢

查找积分的几何意义。

六、源程序

#include

#define N 100000

int main()

{

float x,sum;

int 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错误!未找到引用源。x错误!未找到引用源。80, 1错误!未找到引用源。y错误!未找到引用源。80。

求这组点集中的离群点。(离群点定义:远离点集一般水平的极端大值和极端小值)。

要求:若有离群点,请输出离群点的坐标;若无离群点,则输出“No outliers!”,将离群点在终端用#输出表示,非离群点用*输出表示,显示方式如下图所示。

提示:离群点判断的方法不止一种,例如,可借助点集所有的数据的平均值为圆心,以所有点集到圆心的平均距离为半径,所构成的圆。在圆中的为正常点,否则为离群点。

二、方案设计与论证

开一个90*90的数组,并随机生成50个点。

再开一个90*90的数组,计算50个点到80*80个点的平均距离,找到最小的(离群点)。

计算所有点到离群点的距离,小于等于就为正常点,否则为离群点。

三、程序运行结果(截图)

四、心得体会

相关文档
最新文档