PAGE
PAGE 2
C语言编程(函数)100道题
一、整数问题(27)
1、编写函数fun, 函数的功能是:根据以下公式计算 s,计算结果作为函数值返回;n 通过形参传入。 S = 1 + 1/ (1+2) + 1/ (1+2+3) + …… + 1/ (1+2+3+……+n)
float fun ( int n )
{int i ;
float s = 0.0 , t = 0.0 ;
for ( i = 1 ; i <= n ; i++ ){t += i ;s += 1 / t ; }
return s ;
}
2、编写函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。
m 与 n 为两个正整数且要求 m > n。
m!
P = ─────
n!(m-n)!
float fun ( int m , int n )
{int i ;
float p , t ;
for ( t = 1.0 , i = 1 ; i <= m ; i++ )t *= i ;
p = t ;
for ( t = 1.0 , i = 1 ; i <= n ; i++ )t *= i ;
p = p / t ;
for ( t = 1.0 , i = 1 ; i <= m – n ; i++ ) t *= i ;
p = p / t ;
return p ;
}
3、请编写一个函数fun, 它的功能是:根据以下公式求 л 的值,(要求满足精度 0.0005,即某项小于 0.0005 时停止迭代):
π 1 1×2 1×2×3 1×2×3×4 1×2×…×n
─ = 1 + ─ + ── + ──── + ───── + …… + ────────
2 3 3×5 3×5×7 3×5×7×9 3×5×…×(2n+1)
double fun ( double eps )
{ int n = 0 ;
double t = 1.0 , pi = 0.0 ;
while ( t >= eps )
{pi += t ; n++ ; t *= ( double ) n / (2 * n + 1) ; }
return pi * 2 ;
}
4、请编写函数fun, 其功能是:计算并输出下列多项式值:
1 1 1 1
s = 1 + ── + ── + ── + …… + ──
1! 2! 3! n!
double fun ( int n )
{int i ;
double t = 1.0 , sn = 1.0 ;
for ( i = 1 ; i <= n ; i++ )
{t *= i ;sn += 1 / t ; }
return sn ;
}
5、请编写函数fun,它的功能是:计算并输出下列级数和:
1 1 1
s = ─── + ─── + …… + ─────
1×2 2×3 n×(n+1)
double fun ( int n )
{int i ;
double s = 0.0 ;
for ( i = 1 ; i <= n ; i++ )s += 1.0 / i / ( i + 1 ) ;
return s ;
}
6、请编写函数fun, 其功能是:计算并输出当 x < 0.97 时下列多项式的值,
直到│Sn-(Sn-1)│< 0.000001 为止。
0.5(0.5-1) 0.5(0.5-1)(0.5-2) 0.5(0.5-1)(0.5-2)…(0.5-n+1)
S=1+0.5x+─────x^2+─────────x^3… +──────────────x^n
2! 3! n!
double fun ( double x )
{double s0 , s1 = 1 , p = 1 ;
long n = 0 ;
do {