输入一个正数x和一个正整数n,求下列算式的值。调用两个函数分别计算n的阶乘;计算x的n次幂(C语言)
程序员文章站
2024-03-23 23:54:28
...
题目描述
输入一个正数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
分析:
1、写两个函数,设定好变量及其类型,不要弄错了
2、循环表示阶乘和幂次就可以了,有多种方法表示,比如可以n--,也可以i++等等
3、输出千万不要写&sum,我就是因为这个改了一个小时,编译永远不出错,最后发现了去掉了就好了
代码如下:
#include<stdio.h>
#include<math.h>
double fact(int n)
{
double sum1=1.0;
for(; n>0; n--)
sum1*=n;
return sum1;
}
double mypow(double x,int n)
{
double sum2=0.0;
sum2=pow(x,n);
return sum2;
}
int main()
{
double x,sum=0.0;
int n;
scanf("%lf%d",&x,&n);
for(int i=1; i<=n; i++)
{
sum+=pow(-1,i+1)*(mypow(x,i)/fact(i));
}
printf("%.4lf\n",sum);
return 0;
}
下一篇: Java 方法重载