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

答案:

for(i=2;i<=m;i++) y -=1.0/(i*i);

1.14 数学公式

#include #include

double fun(double eps) { double s,t; int n=1; s=0.0;

/************found************/ t=0;

while( t>eps) { s+=t;

t=t * n/(2*n+1); n++; }

/************found************/ return (s);

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

}

main() { double x;

printf(\scanf(\

printf(\}

答案: t=1.0;

return(s*2);

1.15 素数

给定程序MODI1.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include int fun(int m) { int i, k ;

for (i = m + 1 ; ; i++) { for (k = 2 ; k < i ; k++)

/**************found**************/ if (i % k != 0) break ;

/**************found**************/ if (k < i) return(i);

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

} }

void main() { int n ;

n = fun(20) ;

printf(\}

答案:

if(i%k==0)break; if(k==i)return (i);

1.16 整数处理

给定程序MODI1.C中函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:7654321时,t中的数为:642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include

/************found************/ //void fun (long s, long t) { void fun(long s,long *t){ long sl=10; s /= 10; *t = s % 10;

/************found************/

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

//while ( s < 0) { while(s>0){ s = s/100;

*t = s*sl + *t; sl = sl * 10; } }

main(){ long s, t;

printf(\scanf(\fun(s, &t);

printf(\}

1.17 自然数

给定程序MODI1.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数值为4622。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include int fun( int k ) {

int m=0, mc=0, j ;

while ((k >= 2) && (mc < 10)) { /************found************/ if ((k = 0) || (k = 0)) {

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

m = m+ k; mc++; } k--; }

return m;

/************found************/ _____ }

main ( ) {

printf(\}

if(k == 0 || k == 0){ //____

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