资源描述:
《实验数据处理C语言源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、//Liubin.cpp:处理实验数据//#include#include#include#include#defineMAX20typedefstructwuli{floatd[MAX];charname[10];intLEN;floatccha[MAX];/*残差数组*/floatavg;/*data的平均值*/doublesx;/*标准偏差Sx*/doubleDU;/*总不确定度*/}wulidata;wulidata*Inpu
2、tData();voidaverage(wulidata*wl);voidYCZhi(wulidata*wl);voidCanCha(wulidata*wl);voidBZPianCha(wulidata*wl);/*标准偏差*/voidBQDdu(wulidata*wl);/*总不确定度*/voidrage(wulidata*wl);voidoutput(wulidata*wl);/*----------------------------------------------------------*/
3、voidline(){inti;printf("");for(i=0;i<74;i++)printf("=");printf("");}/*-------------------------------------------------------*/wulidata*InputData(){inti=0,k;floatda;charZ=0;wulidata*wl;wl=(wulidata*)malloc(sizeof(wulidata));printf("请为你要处理的数据起一个名字:");s
4、canf("%s",wl->name);printf("下面请你输入数据%s具体数值,数据不能超过MAX个",wl->name);printf("当name='#'时输入结束");do{printf("%s%d=",wl->name,i+1);scanf("%f",&da);wl->d[i]=da;i++;if(getchar()=='#')break;}while(wl->d[i-1]!=0.0&&iLEN=i-1;do{printf("你输入的数据如下:");for
5、(i=0;iLEN;i++)printf("%s%d=%ft",wl->name,i+1,wl->d[i]);printf("你是否要作出修改(Y/N)?");while(getchar()!='');Z=getchar();if(Z=='y'
6、
7、Z=='Y'){printf("你须要修改哪一个元素,请输入其标号i=(1~%d)",wl->LEN);while(getchar()!='');scanf("%d",&k);printf("%s%d=",wl->name,k);
8、scanf("%f",&(wl->d[k-1]));}elseif(Z=='n'
9、
10、Z=='N')printf("OK!下面开始计算。");}while(Z!='N'&&Z!='n');return(wl);}/*--------------------------------------------------------------------*/voidaverage(wulidata*wl){floatad,sum=0;inti;for(i=0;iLEN;i++){sum=sum+(
11、wl->d[i]);}ad=sum/(wl->LEN);wl->avg=ad;}/*-------------------------------------------------------------------*/voidCanCha(wulidata*wl){inti;for(i=0;iLEN;i++)wl->ccha[i]=(wl->d[i])-(wl->avg);}/*---------------------------------------------------------
12、------*/voidYCZhi(wulidata*wl)/*检查并剔除异常值*/{inti,j;floatg,YCZhi;doubletemp,CCha;printf("下面开始检查并提出异常值!");do{printf("当前共有%d个数,数据如下:",wl->LEN);for(i=0;iLEN;i++)printf("%s%d=%ft",wl->name,i+1,wl->d[i]);j=-1;CCh