c语言上机试题1(数学计算) 下载本文

float s;

fp = fopen(\

wf = fopen(\ for(i = 0 ; i < 10 ; i++) {

fscanf(fp, \ s = fun(m, n) ;

fprintf(wf, \ }

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; }

for(z=1;z<=m-n;z++){ q=q*z; }

result=o/(p*q); return result;

尝试建立一个专门求阶乘的函数。

--WORD格式--可编辑--

1.4 求公式

#include double fun( int n ) { }

int main(void) /* 主函数 */ { printf(\ //NONO(); return 1; }

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

fp = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(fp, \ s = fun(n) ;

fprintf(wf, \ }

--WORD格式--可编辑--

fclose(fp) ; fclose(wf) ; return 1; }

答案: int i;

double m,sum=0.0; for(i=1;i<=n;i++){ m=i*(i+1); sum+=1/m; }

return sum;

1.5 整数分解

函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a=45,b=12。调用该函数后,c=5241。 注意: 部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include void NONO(void);

long fun(int a, int b) { }

--WORD格式--可编辑--

int main(void) { int a,b; long c;

printf(\

scanf(\ c=fun(a, b);

printf(\ NONO(); return 0; }

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

rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) {

fscanf(rf, \ fun(a, b, &c) ;

fprintf(wf, \ }

fclose(rf) ; fclose(wf) ; }

答案:

long i1=(a)*1000;

printf(\

--WORD格式--可编辑--

long i2=(b)*100; long i3=a/10*10; long i4=b/10;

//return a*1000+b*100+a/10*10+b/10; return i1+i2+i3+i4;

1.6 数学公式

#include

/************found************/ fun(int m){

double y = 0, d; int i ;

/************found************/ for( i = 100;i < m;i += 100 ) { d = (double)i * (double)i ; y += 1.0 / d ; }

return (y); }

main( ) {

int n = 2000 ;

printf( \ }

--WORD格式--可编辑--