资源描述:
《c语言上机精彩试题1(数学计算).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1整型、实型1.1实型四舍五入请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。例如:实型数为1234.567,则函数返回1234.57;实型数为1234.564,则函数返回1234.56。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何容,仅在函数fun的花括号中填入你编写的若干语句。#includeintNONO(void);floatfun(floath){}intmain(void){floata;printf("Entera:"
2、);scanf("%f",&a);printf("Theoriginaldatais:");printf("%f",a);printf("Theresult:%f",fun(a));NONO();return1;}intNONO(void){/*请在此函数打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti;floata;FILE*rf,*wf;rf=fopen("./05/in.dat","r");wf=fopen("./05/out.dat","w");for(i=0;i<20;i++){fscanf(r
3、f,"%f",&a);fprintf(wf,"%f",fun(a));}fclose(rf);fclose(wf);return1;}答案1:longi=h*1000;if(i%10<5)return(i/10)/100.0;elsereturn(i/10+1)/100.0;答案2:longtemp=a*1000,temp2;temp2=temp/10;temp=temp%10;floatresult;//被除数定义成floatif(temp>4)result=temp2+1;elseresult=temp2;returnresult/
4、100;1.1根据公式求圆周率#include#includedoublefun(doubleeps){}main(){doublex;printf("Inputeps:");scanf("%lf",&x);printf("eps=%lf,PI=%lf",x,fun(x));NONO();}NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti;doublex;fp=fopen("c:\test\in.dat","r");wf=fope
5、n("c:\test\out.dat","w");for(i=0;i<10;i++){fscanf(fp,"%lf",&x);fprintf(wf,"%lf",fun(x));}fclose(fp);fclose(wf);}答案1:doublei=1,a=1,b=1,c=1,s=0;while(c>=eps){s+=c;a*=i;b*=2*i+1;c=a/b;i++;}returns*2;答案2:doublen=1.0,m,s1,s2;m=2*n+1;s1=n;s2=m;doubletemp=s1/s2,sum=0.0;while(
6、temp>=eps){sum+=temp;n+=1;m+=2;s1*=n;s2*=m;temp=s1/s2;}return(sum+1)*2;1.1求阶乘#includefloatfun(intm,intn){}intmain(void)/*主函数*/{printf("P=%f",fun(12,8));//NONO();return1;}intNONO(void){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*fp,*wf;inti,m,n;floats;fp=fopen("c:\te
7、st\in.dat","r");wf=fopen("c:\test\out.dat","w");for(i=0;i<10;i++){fscanf(fp,"%d,%d",&m,&n);s=fun(m,n);fprintf(wf,"%f",s);}fclose(fp);fclose(wf);return1;}答案:floatresult;intx,y,z,o=1,p=1,q=1;for(x=1;x<=m;x++){o=o*x;}for(y=1;y<=n;y++){p=p*y;}for(z=1;z<=m-n;z++){q=q*z;}re
8、sult=o/(p*q);returnresult;尝试建立一个专门求阶乘的函数。1.1求公式#includedoublefun(intn){}intmain(