程序功能:输入一个正整数n和一个实数x(x范围在区间[-6.28,+6.28]之间),计算 的前n项的和(保留4位小数),要求:定义并调用函数fact(n)计算n的阶乘,定义并调用函数power(x,n)计算xn。
解决方案
80
#include<stdio.h> void main() { int i, n, flag; double x, item, sum = 0.0; double fact(int n); double power(double x, int n); printf("输入一个正整数n和一个实数x:"); scanf("%d%lf", &n, &x); for(i = 0; i < n; i++) { flag = (i % 2 == 0) ? 1 : -1; item = flag * power(x, 2 * i) / fact(2 * i); sum += item; } printf("cos(x)的近似值=%0.4f\n", sum); } double fact(int n) { double product = 1.0; int i; for(i = 2; i <= n; i++) product *= i; return product; } double power(double x, int n) { if(n == 0) return 1.0; double pow = x; int i; for(i = 1; i < n; i++) pow *= x; return pow; }