C语言问题,,急

C语言 码拜 8年前 (2016-04-25) 1116次浏览
C语言问题,,急C语言问题,,急程序功能:输入一个正整数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;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C语言问题,,急
喜欢 (0)
[1034331897@qq.com]
分享 (0)