e的x次方编程
#include<stdio.h>
#include<math.h>
intmain()
{
doubleadd(doublex,doublen);
doublex,n,sum;
scanf("%lf%lf",&x,&n);
if(n<0||x<0)
{
printf("error");
return0;
}
else
{
sum=add(x,n);
printf("%.6lf",sum);
}
return0;
}
doubleadd(doublex,doublen)
{
doubleb=1,c=1;
doublesum=1;
for(b=1;b<=n;b++)
{
sum=sum+(pow(x,b))/c;
b=b+1;
c=c*b;
}
returnsum;
}
你这样做,那个输出错误的结果判断要在计算之前,并且出错后要退出,而且你的异常条件要写成:if(n<0||x<0),因为0是允许的。然后计算和的函数我减去了一个变量,有循环变量就可以替代n了
我的运行结果,但我不知道运算的对不对,程序反正没有错误了,也可以运行的
Ⅱ C语言编程求解e的x次方啊
网络快速幂解决,速度快,如果是求位数的话用公式:指数*lg2+1向下取整
Ⅲ 求用C语言编程出计算e的x次方。其中e的x次方=1+x+x^2/(2!)...+x^n/(n!)的原程序
#include <stdio.h>
long float fun(int n) //求阶乘函数
{
if(n>1)
return n*fun(n-1);
else
return 1;
}
long float fun1(int x,int n) //求x的n次方函数
{
long float i;
long float sum=1;
if(n>=1)
for(i=1;i<=n;i++)
sum*=x;
else
sum=1;
return sum;
}
main()
{
int x,i=1;
long float sum=1,s;
printf("请输入x:\n");
scanf("%d",&x);
for(i=1;i<150;i++) //n最大取值为149...
sum+=fun1(x,i)/fun(i);
printf("e的%d次方的值为:%f\n", x,sum);
}
Ⅳ 求e的x次方的编程 能看一下是哪错了吗
你定义precision的时候没有赋值,后来也没有输入precision的值,但是却作为参数传给了myexp了所以出错
Ⅳ c语言怎么写自然数e的x次方
#include<stdio.h>
#include<math.h>
main()
{
int x;
double y;
printf("Please input x:");
scanf("%d",&x);
if(x>0)
{
y=exp(x);
}
else if(x<0)
{
y=exp(x);
}
else
{
printf("y==1 ");
}
printf("y=%f ",y);
}
(5)e的x次方编程扩展阅读:
printf()函数的用法
1.printf()函数的调用格式为:printf("<格式化字符串>",<参量表>);
//__stdcall
int __cdecl printf(const char*p,...);
...可变参数
printf在打印浮点数,不论原来是双精度还是单精度,都变为双精度(8字节)
打印1字节(char)2字节(short)4字节(int)==>4字节,除了long long(8字节)
void main()
{
int a=10;
folat ft=12.25f;
printf("%d%d ",a,ft);
}
%d格式控制符--不具有强转能力
A格式化字符串包括两部分内容:
一部分是正常字符,这些字符将按原样输出;
另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
1.d/i有符号十进制形式输出(正数不输出符号)
2.u无符号十进制形式输出
3.o无符号八进制形式输出(不输出前缀0)
4.x无符号十六进制形式输出(不输出前缀Ox),并以小写abcdef表示。
5.X无符号十六进制形式输出(不输出前缀Ox),并以大写ABCDEF表示。
6.c输出单个字符
7.s输出字符串
8.f以小数形式输出单、双精度实数
9.E/e用科学计数法表示浮点数
10.G/g以%f或%e中较短的输出宽度输出单、双精度实数
+++++++++
void main()
{
long long x=0x12345678901357;
printf("%x ",x);//=>78 90 13 57
printf("%lx ",x);//=>78 90 13 57
printf("%llx ",x);//=>12345678901357
}
Ⅵ 编程e的x次方怎么求
EXP(1)=e
e的x次方就是
EXP(1)^X
Ⅶ 当n=15时,C语言编程出计算e的x次方。其中e的x次方=1+x+x^2/(2!)...+x^n/(n!)的程序。
#include"stdio.h"
void main()
{
int i,x,n;float e=0;
printf("请输入x的值:");
printf(“请输入n的值:");
for(i=1;i<=n;i++)
{ e=e+x^i/fac(n);
}
printf("%f",e);
}
Ⅷ C语言程序设计:用下面公式计算e的x次方。
#include "stdio.h"
int x;
float sum;
long f1(n)
int n;
{if(n==0) return 1;
else return x*f1(n-1);
}
long f2(n)
int n;
{
if(n==0) return 1;
else return n*f2(n-1);
}
int main()
{
int i;
scanf("%d",&x);
for(i=0;i<10;i++)
sum+=(float)f1(i)/(float)f2(i);
printf("%f",sum);
getchar();
getchar();
}
Ⅸ 用c语言编写一段程序,用求和公式求E的X次方的近似值。
//exp.c
#include <math.h>
double expTaylor(double x,int n)
{
double sum=1,fac;
int i,j;
for(i=1;i<=n;i++)
{
j=i;
fac=1;
while(j) fac*=j--;
sum+=pow(x,i)/fac;
}
return sum;
} extern double expTaylor(double x,int n);
#include <stdio.h>
int main()
{
int n=10,i;
for(i=0;i<n;i++)
printf("%.16lf\n",expTaylor(1,i)); return 0;
}
Ⅹ C语言,编程出,计算e的x次方。其中e的x次方=1+x+x^2/(2!)...+x^n/(n!)。 帮我看看哪里错了。
在double exp1()函数中for应该这样写
for (b=1; b<=n; b++)
{
sun1 *= b;
sum += (pow(x, b)/sum1);
}
你少了个括号,这回再试试~~
其实最好把sum1设置成int型,因为它仅仅是用来算阶乘的
顺便提醒你,如果你是新手,学习编程一定要养成好的习惯,建议你看看《C/C++规范编程》很不错的书~~
祝学习愉快