函數c語言ex
① 如何用c語言求e^x的近似值
如下:
(1)#include<stdio.h>
int main()
{
double item=1,sum=1,n;
for(n=1;n<=20;n++)
{
item*=1.0/n;
sum+=item;
}
printf("The sum is %lf ",sum);
return 0;
}
(2)#include<stdio.h>
#include<穗亮math.h>
int main()
{
double item=1,sum=1,n=1;
do
{
item*=1.0/n;
sum+=item;
n++;
}while(fabs(item)>=1e-4);
printf("The sum is %lf ",sum);
return 0;
}
介紹
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級告宏存儲器。
C語言是僅產生少量的機器語言以及不需要任何運行環境支持便襪族冊能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性。
② 怎樣用C語言編寫數學公式
1、C語言有現場的常用數學函數,所在函數庫為math.h、stdlib.h。
函數名及解釋:
int abs(int i) 返回整型參數i的絕對值
double cabs(struct complex znum) 返回復數znum的絕對值
double fabs(double x) 返回雙精度參數x的絕對值
long labs(long n) 返回長整型參數n的絕對值
double exp(double x) 返回指數函數ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存貯在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反餘弦cos-1(x)值,x為弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度
double atan(double x) 返回x的反正切tan-1(x)值,x為弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度
double cos(double x) 返回x的餘弦cos(x)值,x為弧度
double sin(double x) 返回x的正弦sin(x)值,x為弧度
double tan(double x) 返回x的正切tan(x)值,x為弧度
double cosh(double x) 返回x的雙曲餘弦cosh(x)值,x為弧度
double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度
double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度
double hypot(double x,double y) 返回直角三角形斜邊的長度(z),x和y為直角邊的長度,z2=x2+y2
2、復雜的數學函數可以用自定義函數的形式實現。
例如:
doubleConerVelocity(intA,doublex1,doubley1,doublex2,doubley2,doublet1,doublet2)
{
doubleT,V;
T=acos(abs(x1*x2+y1*y2)/sqrt(x1*x1+y1*y1)/sqrt(x2*x2+y2*y2));
V=(A*(t2-t1))/(2*sin(T/2));
returnV;
}
③ 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);
}
(3)函數c語言ex擴展閱讀:
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
}
④ ex在c語言中怎麼表示
C語毀悉言exp()函數:e的次冪函數(以e為底的x次方纖戚乎值)頭文件: #include exp()用來計算以e 為底的x 次方值,即ex仔蔽值,然後將結果返回。
⑤ C語言編程:ex=1+x/1!+x2/2!+x3/3!+……+xn/n!+…… 要求輸入x的值後能計算ex的值,用循環編程。謝謝
#include <stdio.h>山衡
#include <math.h>
/逗信做/ 計算 n 的階乘
int jc (int n)
{
if (n < 0) return -1;
else if (n == 0) return 1;
else return n * jc (n - 1);
}
// 計算 ex 的值
double ex (double x)
{
int i = 0;
double sum = 0;
// pow(x,i)是x的i次方, elem是要計算的多項式的通項式
double elem = pow (x, i) / (double) (jc (i));
// 當elem的值小於 0.000001 時結束循環
while (elem > 1e-6)
{
sum = sum + elem;
i++;
elem = pow (x, i) / (double)(jc (i));
}
return sum;
}
int main()
{
double x;
printf("請輸入x的值: ");
scanf("%lf", &x);
printf("ex = %lf\n", ex(x));
return 0;
}
以上代碼已經通過測試,結果正確,並坦唯有一定量的注釋,便於理解