C语言课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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个点的平均距离,找到最小的(离群点)。 计算所有点到离群点的距离,小于等于就为正常点,否则为离群点。 三、程序运行结果(截图) 四、心得体会