做网站推广,最近国际时事热点事件,网站开发服务计入什么科目,成都网站建设推荐到访率公司题目描述
输入一个正数x和一个正整数n#xff0c;求下列算式的值。要求定义两个调用函数#xff1a;fact(n)计算n的阶乘#xff1b;mypow(x,n)计算x的n次幂#xff08;即xn#xff09;#xff0c;两个函数的返回值类型是double。 x - x2/2! x3/3! ... (-1)n-1xn/n!
…题目描述
输入一个正数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 代码解析 定义fact函数: fact(int n)函数用于计算一个整数n的阶乘。它通过一个for循环来累乘从1到n的所有整数并将结果存储在sum变量中。最后返回计算得到的阶乘值。 double fact(int n)
{double sum 1;for (int i 1; i n; i){sum sum * i;}return sum;
} 定义mypow函数: mypow(double x, int n)函数用于计算x的n次幂的近似值。它使用了一个for循环从1遍历到n每次迭代中计算(-1)^(i-1) * x^i / fact(i)的值并累加到sum变量中。这里pow(-1, i - 1)用于生成交替的正负号pow(x, i)用于计算x的i次幂fact(i)用于计算i的阶乘用于分母的计算。最后返回累加的sum值作为x的n次幂的近似值。 double mypow(double x, int n)
{double sum 0;for (int i 1; i n; i){sum sum (pow(-1, i - 1) * pow(x, i) / fact(i));}return sum;
} 主函数main: int main(void)是程序的入口点。在这个函数中首先通过scanf函数读取用户输入的两个值一个是双精度浮点数x另一个是整数n。 int main(void)
{double x;int n;scanf(%lf%d, x, n);
} 调用mypow函数并输出结果: 调用mypow函数传入用户输入的x和n作为参数计算x的n次幂的近似值。使用printf函数输出mypow函数返回的结果格式化为保留四位小数的浮点数。 printf(%.4lf,mypow(x,n));函数返回: return 0;表示main函数执行成功并返回0。在C语言中main函数的返回值通常用于表示程序的退出状态其中0表示成功。 return 0;源代码
#include stdio.h
#include math.h
double fact(int n)
{double sum 1;for (int i 1; i n; i){sum sum * i;}return sum;
}
double mypow(double x, int n)
{double sum 0;for (int i 1; i n; i){sum sum (pow(-1, i - 1) * pow(x, i) / fact(i));}return sum;
}
int main(void)
{double x;int n;scanf(%lf%d, x, n);printf(%.4lf,mypow(x,n));return 0;
}