c语言上机试题1(数学计算)

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

1整型、实型

1.1实型四舍五入

请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。例如:实型数为 1234.567, 则函数返回1234.57;实型数为 1234.564, 则函数返回 1234.56。注意: 部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include

int NONO(void);

float fun ( float h ) {

}

int main(void) {

float a;

printf ("Enter a: ");

scanf ( "%f", &a );

printf ( "The original data is : " );

printf ( "%f \n\n", a );

printf ( "The result : %f\n", fun ( a ) );

NONO( );

return 1;

}

int NONO(void) {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。*/

int i ;

float a ;

FILE *rf, *wf ;

rf = fopen("./05/in.dat","r") ;

wf = fopen("./05/out.dat","w") ;

for(i = 0 ; i < 20 ; i++) {

fscanf(rf, "%f", &a) ;

fprintf(wf, "%f\n", fun(a)) ;

}

fclose(rf) ;

fclose(wf) ;

return 1;

}

答案1:

long i=h*1000;

if(i%10<5)

return (i/10)/100.0;

else

return (i/10+1)/100.0;

答案2:

long temp=a*1000,temp2;

temp2=temp/10;

temp=temp%10;

float result; //被除数定义成float

if(temp>4)

result=temp2+1;

else

result=temp2;

return result/100;

1.2根据公式求圆周率

#include

#include

double fun ( double eps) {

}

main( ) {

double x;

printf("Input eps:") ;

scanf("%lf",&x);

printf("\neps = %lf, PI=%lf\n", x, fun(x));

NONO();

}

NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ;

int i ;

double x ;

fp = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) {

fscanf(fp, "%lf", &x) ;

fprintf(wf, "%lf\n", fun(x)) ;

}

fclose(fp) ;

fclose(wf) ;

}

答案1:

double i=1,a=1,b=1,c=1,s=0; while(c>=eps) {

s+=c;

a*=i;

b*=2*i+1;

c=a/b;

i++;

}

return s*2;

答案2:

double n=1.0,m,s1,s2;

m=2*n+1;

s1=n;

s2=m;

double temp=s1/s2,sum=0.0;

while(temp>=eps){

sum+=temp;

n+=1;

m+=2;

s1*=n;

s2*=m;

temp=s1/s2;

}

return (sum+1)*2;

1.3求阶乘

#include

float fun(int m, int n) {

}

int main(void) /* 主函数 */ {

printf("P=%f\n", fun (12,8));

//NONO();

return 1;

}

int NONO (void) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ;

int i, m, n ;

float s;

fp = fopen("c:\\test\\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\n", s) ;

}

fclose(fp) ;

fclose(wf) ;

return 1;

}

答案:

float result;

int x,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;

相关文档
最新文档