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

while( n >1 && n < 170 ) /************found************/ result *= n-- return result ; }

main ( ) { int n ;

printf(\ scanf(\

printf(\ } 答案:

if(n==0) return 1.0; result*=n--;

1.10 数学公式

#include double fun(int n){ }

main( ) { int n = 5;

printf( \ }

答案:

int a, b, c, k; double s; s = 0.0; a = 2; b = 1;

可复制、编制,期待你的好评与关注!

for ( k = 1; k <= n; k++ ) { s=s+(double)a/b; c = a; a = a + b; b = c; }

return s;

1.11 数列

已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。 例如,当n=10时,程序的输出结果应为:23.197745。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include #include double fun(int n){ }

main ( ) { int n;

printf(\ scanf(\

printf(\ }

答案:

double sum, s0, s1, s2, s; int k; sum = 1.0;

if (n <= 2) sum = 0.0; s0 = 0.0; s1 = 0.0; s2 = 1.0;

for (k = 4; k <= n; k++) { s = s0 + s1 + s2; sum += sqrt(s); s0 = s1; s1 = s2;

可复制、编制,期待你的好评与关注!

s2 = s; }

return sum;

1.12 数学公式

#include

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

float A=1; int i;

/************found************/ for (i=2; i

main( ) { int n ;

printf(\ scanf(\

printf(\ }

答案:

float fun(int n){

if(2<=n) return 1.0/(1+fun(n-1));//递归

或:for (i=2; i<=n; i++) A=1.0/(1+A);//另一种

可复制、编制,期待你的好评与关注!

1.13 数学公式

给定程序MODI1.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。

#include double fun ( int m ) { double y = 1.0 ; int i ;

/**************found**************/ for(i = 2 ; i < m ; i++)

/**************found**************/ y -= 1 /(i * i) ; return( y ) ; } main( ) { int n = 5 ;

printf( \} 答案:

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

void main() {

可复制、编制,期待你的好评与关注!

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4