输入一个正实数x和一个正整数n, 求下列算式的值。要求定义和调用2个函数:fact(n) C语言编写程序:输入一个正整数
www.zhiqu.org 时间: 2020-11-24
#include
#include
#include
#include
double fact(int n)
{
int i;
double s1=1.0;
for(i=1;i<=n;i++)
s1*=i;
return s1;
}
double mypow(double x, int n)
{
int i;
double s2=1.0;
for(i=1;i<=n;i++)
s2=s2*x;
return s2;
}
void main()
{
int i,n,f,x;
double s=0;
printf("输入一个正实数x");
scanf("%d",&x);
printf("输入一个正整数n");
scanf("%d",&n);
f=1;
for(i=1;i<=n;i++)
{
s=s+mypow(x,i)/fact(i);
f=-f;
}
printf("%f",s);
getch();
}
double fact(int n)
{
int i;
double result=1;
for(i=1;i<=n;i++)
{
result*=i;
return result; //这里不能return,这里循环还没结束。
}
//应该在这里return result;
}
#include
using namespace std;
int fact(int n)
{
if(n==1||n==0)
return 1;
else
return n*(n-1);
}
int mypow(int x,int n)
{
int p=1;
for(int i=0;i
{
p=p*x;
}
return p;
}
int main()
{
int n,x;
double item,sum=0;
cout << "请输入正整数x和正整数n:"<
cin>>x>>n;
for(int i=1; i<=n;i++)
{
item=(mypow(-1,i-1)*mypow(x,i))/fact(i);
sum=sum+item;
//cout<
}
cout<
return 0;
}
你所说的也可以说的过去,但是集中输入的都是正整数,只有item和sum是double类型的,其余的两个函数应该是int类型的
如图所示,这里的t定义成int了,因此计算的t的结果为整数,返回时强制转成浮点数也是没有小数点后面数据的。望采纳。。。。。。
sum=1/n+sum;
中心算法就是这一句
应该是
sun+=1.0/fact(i);
fact是系统函数,这不应自己编写,调用即可,应该在math.h头文件中吧
不过这样效率要低下不少,因为每次都需要计算n的阶乘
好的算法是
int i,n,s=1;
float sum=0;
for(i=1;i<=n;i++)
{
s*=i; //计算i的阶乘
sum+=1.0/s;
}
输入一个正实数x和一个正整数n, 求下列算式的值.要求定义和调用2个函数:fact(n)
: #include#include#include#includedouble fact(int n){ int i; double s1=1.0; for(i=1;i<=n;i++) s1*=i; return s1;}double mypow(double x, int n){ int i; double s2=1.0; for(i=1;i<=n;i++) s2=s2*x; return s2;}void main(){ int ...
题目是:输入一个正实数X和一个正整数N,求下列算式的值,要求定义和调用2个函数:fact(n)计算n的阶乘,mypow计算X的N次幂(即x^n),2个函数的返回值都是double_
: 当然是if((i+1)%2==0)这么写是对的了,如果写成“=”这是赋值用的,判断用的为“==”呀
C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.
: #include "stdio.h"#include "math.h"int jiecheng(int i){ int k = 1; while(i>=1) { k*=i; i--; } return k;}void main(){ printf("请输入一个x和n\n"); double x,sum=0,elem=0; int sign = 1; scanf("%lf,%d",&x,&n); int i = 1; for (i=0;i 追问: 表示不行 ...
编写程序:输入一个正整数x和一个正整数n,求下列算式的值. x_x²/2!+x³/3!-x^4/4!+...+[(-1)^
: 1020
输入一个正数x和一个正整数n,求下列算式的值.要求顶一个调用2个函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是doublex_x2/2!+x3/3!+...+(-1)n-1xn/n!*输出保留4_作业帮
: 是c语言吗 你问错地方了.c忘得有点多具体写不出来,我只大致写一下思路,fact(n)的int b=1; 用b来装阶乘for(;n>0;n--)b=n*b;mypow(x,n)的int c=1;用c来装n次幂for(;n>0;n--)c=c*x;然后main里面是int d=0,a;d用来装多项式,a用来装前面的正负号,a的赋值我就不写了for(;n>0;n--)d=d+a*mypow(x,n)/fact(n);基本就是这样,不懂再问
【编写程序:输入一个正整数x和一个正整数n,求下列算式的值.x_x²/2!+x³/3!-x^4/4!+...+[(-1)^(编写程序:输入一个正整数x和一个正整数n,求下列算式的值.x-x²/2!+x³/3!-x^4/4!+...+[(-1)^(n-1)](x^】作业帮
: LZ自己试一下我的-.-#include #include double fact(int n){int j=1;double multiply=1;for(j=1;j
C语言输入一个正整数n和一个实数x,计算x的n次方的值._
: #include float x; int n,i; float s=1.0; void main() { printf("Please Input x:"); scanf("%f",&x); printf("Please Input num:"); scanf("%d",&n); if(n printf("n must greater than 0."); else if(n==0) s=1; else { for(i=1;i { s=s*x; } } printf("%f\n",s); }
输入一个正整数n和实数x?输入一个正整数n和实数x,计算下列多项 ...
: 当n比较小的时候,用第一种方法;当n比较大,用空间换时间.
C语言编写程序输入一实数x和一整数n,求x+x^2+x^3+…+x^n的值._
: #include int main() { int n, i; float x, t = 1.0, s = 0.0; scanf("%f %d", &x, &n); for (i = 1; i <= n; i ++) { t *= x; s += t; } printf("%f\n", s); }
这是一个C语言程序,用于输入一个正实数x和正整数n,计算算式x + x^2/2! + x^3/3! - ... + (-1)^(n-1)*x^n/n!的值。程序定义并调用了两个函数:fact(n)计算阶乘,mypow(x, n)计算x的n次幂。通过循环结构和递归实现计算。"
133301646,20038326,解决TensorRT中libnvinfer.so与libnvinfer_plugin.so无法打开的问题,"['机器学习', '深度学习', 'NVIDIA TensorRT', '库文件', '问题解决']
1万+

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



