题目描述
输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。
x - x2/2! + x3/3! + ... + (-1)n-1xn/n!
×输出保留4位小数。
输入
x n
输出
数列和
样例输入
2.0 3
样例输出
1.3333
#include <stdio.h>
#include <math.h>
double fact(unsigned int n);
double mypow(double x,unsigned int n);
int main()
{
unsigned int n;
double x,sum=0;
scanf("%lf%d",&x,&n);
for(;n>=1;n--)
{
if(n%2==0)
{
sum-=mypow(x,n)/fact(n);
}
else
{
sum+=(mypow(x,n)/fact(n));
}
}
printf("%.4lf",sum);
return 0;
}
double fact(unsigned int n)
{
double fact_sum=1;
for(;n>=1;n--)
{
fact_sum*=n;
}
return fact_sum;
}
double mypow(double x,unsigned int n)
{
double mypow_sum=1;
for(;n>=1;n--)
{
mypow_sum*=x;
}
return mypow_sum;
}
该程序实现了一个计算特定数列的函数,该数列由输入的正数x和正整数n定义,即x - x^2/2! + x^3/3! + ... + (-1)^(n-1)*x^n/n!。它使用了两个辅助函数,一个用于计算阶乘(fact),另一个用于计算x的n次幂(mypow)。程序最后输出数列的和,保留4位小数。示例输入为2.03,输出为1.3333。
1433

被折叠的 条评论
为什么被折叠?



