1. 用c語言編寫一個求定積分的程序,用它分別求以下5個函數的定積分:
#include<stdio.h>
#include<math.h>//pow()指數函數頭文件;
#define e 2.71828//定義自然常數e;
int main ()
{
double a,b,n1,n2,n3,n4,n5,t;
scanf("%lf%lf",&a,&b);
if(a<b)//保證上限比下限大;
{
t=a;
a=b;
b=t;
}
n1=a-b+0.5*(a*a-b*b);//a和b是未知數,積分運算後,原式=a和b混合運算的代數式;
n2=a*a-b*b+3*a-3*b;
n3=e*0.5*(a*a-b*b)+a-b;
n4=(pow(a+1,3)-pow(b+1,3))/3;
n5=(pow(a,4)-pow(b,4))/4;
printf("%.2lf %.2lf %.2lf %.2lf %.2lf",n1,n2,n3,n4,n5);
return 0;
}
圖1是運行結果,圖2是原題的積分結果;通過數學的積分結果可以看出,積分符號的不在了;只剩下上下限a,b組成的代數式;
2. ∫(1,0)sin(2x的平方+3x+4)dx 用C語言編寫出來
#include<stdio.h>
doubleinteg(doublea,doubleb,doublef(doublex),doublee);
doublefunc(doublex);
intmain()
{
printf("%lf ",integ(0,1,func,1e-8));
return0;
}
doubleinteg(doublea,doubleb,doublef(doublex),doublee)
{
doublesum;
for(sum=0;a<=b-e;a+=e)
{
sum+=(f(a)+f(a+e))/2.0*e;
}
returnsum;
}
doublefunc(doublex)
{
return2*x*x+3*x+4;
}
3. 急求,c語言怎麼編求導函數
求導數有兩種,一種是表達式求導,一種是數值求導。
表達式求導:需要對表達式進行詞法分析,然後用常見的求導公式進行演算,求得導函數。在這方面,數學軟體matrix,maple做得非常好。如果自己用C進行編程,不建議。
數值求導:利用導數的定義,用差分計算,當自變數趨於0時,前後兩次差分收斂到需要精度,計算結束。這種方法可以求得某一點的導數。
例如:
求一階導數,原函數 y = f(x), 程序中是float f(float x){ ...}
dx=0.01; //設 dx 初值
do{
dd1=(f(x0) - f(x0+dx))/dx; //計算導數dd1
dx = 0.5 * dx; // 減小步長
dd2=(f(x0) - f(x0+dx))/dx; //計算導數dd2
}while (fabs(dd1-dd2) >= 1e-06) //判斷新舊導數值之差是否滿足精度,滿足則得結果,不滿足則返回
4. 用C語言編寫一個求定積分的程序
#include<stdio.h>
#include<math.h>
float f1(float x)
{
return(1.0+x);
}
float f2(float x)
{
return(2.0*x+3.0);
}
float f3(float x)
{
return(exp(x)+1);
}
float f4(float x)
{
return(pow(1+x,2));
}
float f5(float x)
{
return(pow(x,3));
}
float fsimp(float a,float b,float (*p)(float))
{
float c,s;
c=(a+b)/2;
s=(b-a)/6*(p(a)+4*p(c)+p(b));
return s;
}
int main()
{
float a,b;
printf("請輸入積分下限a的值:");
scanf("%f",&a);
printf("請輸入積分上限b的值:");
scanf("%f",&b);
printf("%f\n",fsimp(a,b,f1));
printf("%f\n",fsimp(a,b,f2));
printf("%f\n",fsimp(a,b,f3));
printf("%f\n",fsimp(a,b,f4));
printf("%f\n",fsimp(a,b,f5));
}
5. 用什麼語言(匯編,C,C++,JAVA,PHP,DX等等語言)開發出來的程序或者網頁等等,運行速度最快,運行最穩定
最快當然是匯編了,匯編是機器語言直接跟底層會話的
其次是c語言,c語言號稱是高級語言中的低級語言,也就是說他跟底層也很近,所以呢他比匯編差一點,
在其次就是上層的高級語言了,就是c++,java,php,dx,這些了他們都是高級語言,當然沒有底層的執行速率快了
希望對你有幫助,
6. 在嗎c語言求幫助。 int dx=40; int dy=dx*tan(A); linerel(dx,-dy); 這代碼什麼意思啊
int
dx=40;
int
dy=dx*tan(A);
linerel(dx,-dy);
函數linerel原型void
far
linerel(int
dx,
int
dy);指畫條從當前坐標點(x,
y)按相對增量確定點(x+dx,
y+dy)直線
段代碼畫線增量dx和dy滿足
dy=dx*tan(A)條件
7. c語言 論述題 求大神解答
由於double的尾數區長度52,再加上1位隱藏位,可以放置完整的32位定點整數,故從int強轉為double時可以完全保留精度。
(1) (double)(float)x==dx 否 float的尾數區長度23+1,不能完整保留32位int的精度,所以左邊為近似值
(2)dx*dx >= 0 永真 浮點數相乘,符號位和尾數位分開相乘,尾數用原碼表示,筆數是否溢出不影響符號位
8. C語言,輸入一行字元,計算各個大寫字母出現的次數。
這個演算法很復雜啊,你應該重新想一想別的演算法,比如說用大寫字母對應的阿斯科碼值運用一維數組計數,需要的話給你編一個
#include<stdio.h>
#include<stdlib.h>
main()
{
int i=0;
char a[100];
int b[123]={0};
gets(a);
while(a[i]!='\0')
{
if(a[i]>='A' && a[i]<='Z')
b[a[i]]++;
i++;
}
for(i=65;i<=90;i++)
printf("%c有%d個\n",'A'+i-65,b[i]);
system("pause");
return 0;
}
9. 學完C語言該學windows程序設計還是OpenGL和DX
主要看你的興趣在哪裡。喜歡什麼就學什麼,人生短暫,開心就好。 如果要學windows程序設計,大眾化發展方向:c——c++——vc++ 但不是說一定要學了c++
才可以開始windows程序設計,用c語言調用API函數一樣可以辦到,只是這樣花的功夫會比較多,當然你理解的東西也會比別人多,至少比那些以上來就用MFC寫軟體的人不知道要強上多少了。 至於OpenGL和DX,本人接觸的不多無法給出建議,見諒~~~ 呵呵,一家之言,僅供參考。
10. 用c語言求 Y(n)=∫(0到無窮)(e的-α x方次冪)乘以(x的n次方) dx
看錯,我已經修改了,如下圖
代碼如下:
#include<stdio.h>
#include<math.h>
#definea1
#definePEC0.0001
#defineDX0.01
#definePI3.1415926
doublecal(doublex,intn){
doubletemp=exp(-a*x*x);
temp*=pow(x,n);
returntemp;
}
doublecal1(intn){
doubletemp=0.0;
if(n==0)
return0.5*sqrt(PI/a);
elseif(n==1)
return1/(2*a);
else{
return((n+1)/a)*cal1(n-2);
}
}
intmain(){
doublepre=1;//當前cal計算的數值
doubleresult=0;//當前計算結果數值
intn=0;
for(inti=1;pre>PEC;result+=pre*DX,i++){
pre=cal(1.0*i*DX,n);
}
printf("fun1:%lf ",result);
printf("fun2:%lf ",cal1(n));
return0;
}