當前位置:首頁 » 編程語言 » c語言寫積分求和
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言寫積分求和

發布時間: 2022-07-19 03:31:13

⑴ 怎樣編寫c語言積分函數

積分分為兩種,數值積分,公式積分。

  1. 公式積分:部分函數可以直接用公式求得其不定積分函數。C語言中可以直接用積分公式寫出其積分函數。

  2. 數值積分:按照積分的定義,設置積分范圍的步長,用梯形面積累加求得其積分。

    以【f(x)=x*sin(x) 從1到2的積分】為例:

    #include<math.h>
    #include<stdio.h>
    doubleintegral(double(*fun)(doublex),doublea,doubleb,int,n){
    doubles,h,y;
    inti;
    s=(fun(a)+fun(b))/2;
    h=(b-a)/n;/*積分步長*/
    for(i=1;i<n;i++)
    s=s+fun(a+i*h);
    y=s*h;
    returny;/*返回積分值*/
    }
    doublef(doublex){
    return(x*sinx)/*修改此處可以改變被積函數*/
    }
    intmain(){
    doubley;
    y=integral(f,1.0,2.0,150);/*修改此處可以改變積分上下限和步數,步長=(上限-下限)/步數*/
    printf("y=%f ",y);
    return0;
    }

⑵ c語言編寫下面定積分計算

我這邊有個例子,你可以參考一下
至於菜單,自己定義吧,我也不知道你要什麼樣的菜單
#include

#include

#define
pf
printf
#define
m
1000
void
main()
{
float
f1(float);
float
f2(float);
float
f3(float);
float
f4(float);
float
f5(float);
float
integral(float,float,float
(float));
float
a,b;
pf("請輸入上,下限a,b:");
scanf("%f,%f",&a,&b);
pf("(1+x)*x在[%.2f,%.2f]的定積分為:",a,b);
pf("%.2f\n",integral(a,b,f1));
pf("(2*x+3)*x在[%.2f,%.2f]的定積分為:",a,b);
pf("%.2f\n",integral(a,b,f2));
pf("(1+x)*x在[%.2f,%.2f]的定積分為:",a,b);
pf("%.2f\n",integral(a,b,f1));
pf("exp(x)+1在[%.2f,%.2f]的定積分為:",a,b);
pf("%.2f\n",integral(a,b,f3));
pf("(1+x)*(1+x)在[%.2f,%.2f]的定積分為:",a,b);
pf("%.2f\n",integral(a,b,f4));
pf("x*x*x在[%.2f,%.2f]的定積分為:",a,b);
pf("%.2f\n",integral(a,b,f5));
}
float
f1(float
x)
{
float
y;
y=(1+x)*x;
return
y;
}
float
f2(float
x)
{
float
y;
y=(2*x+3)*x;
return
y;
}
float
f3(float
x)
{
float
y;
y=(float)exp(x)+1;
return
y;
}
float
f4(float
x)
{
float
y;
y=(1+x)*(1+x);
return
y;
}
float
f5(float
x)
{
float
y;
y=x*x*x;
return
y;
}
float
integral(float
a,float
b,float
(*fun)(float))
{
float
n,h,s=0;
int
i;
n=(b-a)/m;
for(i=0;i

評論
0

0

0

載入更多

⑶ C語言編程如何編寫積分公式

#include<iostream.h>
//定義結構類型
structstudent
{
intnum;
charname[20];
floatgrade;
};
voidmain(void)
{
//聲明數組
inti,size;
charstr[]="Thisisastring.";
intint_values[]={51,23,2,44,45,0,11};
floatfloat_values[]={15.1,13.3,22.2,10.4,1.5};
studentst_arr[]={101,"WangLin",92,102,"LiPing",85,103,"ZhaoMin",88};

//顯示char類型數組元素及其大小
size=sizeof(str)/sizeof(char);
cout<<"Numberofelementsinstr:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<str[i];
}
cout<<endl;

//顯示int類型數組元素及其大小
size=sizeof(int_values)/sizeof(int);
cout<<"Numberofelementsinint_values:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<int_values[i]<<"";
}
cout<<endl;

//顯示float類型數組元素及其大小
size=sizeof(float_values)/sizeof(float);
cout<<"Numberofelementsinfloat_values:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<float_values[i]<<"";
}
cout<<endl;

//顯示student類型數組元素及其大小
size=sizeof(st_arr)/sizeof(student);
cout<<"Numberofelementsinst_arr:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<st_arr[i].num<<"";
cout<<st_arr[i].name<<"";
cout<<st_arr[i].grade<<endl;
}
}
#include<iostream.h>
//add()函數的定義,其有返回值
doubleadd(doublex,doubley)
{
doublez;
z=x+y;
cout<<x<<"+"<<y<<"="<<z<<endl;
return(z);
}

main()
{
doublea=0.5,b=1.0;

//以不同參數形式調用函數add()
cout<<"add(1.5,2.5)="<<add(1.5,2.5)<<endl;
cout<<"add(a,b)="<<add(a,b)<<endl;
cout<<"add(2*a,a+b)="<<add(2*a,a+b)<<endl;
cout<<"----------------------"<<endl;

//以表達式方式調用函數add()
doublec=2*add(a,b);
cout<<"c="<<c<<endl;
cout<<"----------------------"<<endl;

//以語句式方式調用函數add()
add(2*a,b);
cout<<"----------------------"<<endl;

//用其他類型參數調用函數add()
intn=1,m=2;
cout<<"add("<<n<<","<<m<<")="<<add(n,m)<<endl;
}
#include<iostream.h>
//定義符號函數sgn(),其返回值為int類型
intsgn(doublex)
{
if(x>0)return(1);//返回出口1
if(x<0)return(-1);//返回出口2
return(0);//返回出口3
}
//main()函數定義
main()
{
doublex;
inti;
for(i=0;i<=2;i++){
cout<<"x=";
cin>>x;
cout<<"sgn("<<x<<")="<<sgn(x)<<endl;
}
}

⑷ 怎麼用c語言寫一個算積分的程序啊

1、積分應該是整數吧。
2、int jifen()
{
// 實現你的積分代碼就行。
}

⑸ 用C語言編寫一個求定積分的程序

這是辛普森積分法。
給你寫了fun_1( ),fun_2(),請自己添加另外幾個被積函數。
調用方法 t=fsimp(a,b,eps,fun_i);
a,b --上下限,eps -- 迭代精度要求。
#include<stdio.h>
#include<stdlib.h>
#include <math.h>
double fun_1(double x)
{
return 1.0 + x ;
}
double fun_2(double x)
{
return 2.0 * x + 3.0 ;
}

double fsimp(double a,double b,double eps, double (*P)(double))
{
int n,k;
double h,t1,t2,s1,s2,ep,p,x;
n=1; h=b-a;
t1=h*(P(a)+P(b))/2.0;
s1=t1;
ep=eps+1.0;
while (ep>=eps)
{
p=0.0;
for (k=0;k<=n-1;k++)
{
x=a+(k+0.5)*h;
p=p+P(x);
}
t2=(t1+h*p)/2.0;
s2=(4.0*t2-t1)/3.0;
ep=fabs(s2-s1);
t1=t2; s1=s2; n=n+n; h=h/2.0;
}
return(s2);
}
void main()
{
double a,b,eps,t;
a=0.0; b=3.141592653589793238; eps=0.0000001;
// a definite integral by Simpson Method.
t=fsimp(a,b,eps,fun_1);
printf("%g\n",t);
t=fsimp(a,b,eps,fun_2);
printf("%g\n",t);
// ...
printf("\n Press any key to quit...");
getch();
}

⑹ 用C語言求積分

好象要你自己定義函數,庫函數中好象是沒有直接可以用的積分函數的。

⑺ C語言 求和怎麼寫

  1. 用C語言實現1+2+3+…+10

  2. 初始化

    代碼段:

    int i,s1=0,s2=0,s3=0;

  3. 使用for語句實現:

    代碼段:

    for(i=1;i<=10;i++)//for語句部分

    {

    s1+=i;

    }

    printf("s1=%d ",s1);

  4. 使用while語句實現:

    代碼段:

    i=1;

    while(i<=10) //while語句部分

    {

    s2+=i;

    i++;

    }

    printf("s2=%d ",s2);

  5. 使用do..while語句實現:

    i=1;

    do//do..while語句部分

    {

    s3+=i;

    i++;

    }while(i<=10);

    printf("s3=%d ",s3);

  6. 運行結果:

    S1=55;

    S2=55;

    S3=55;

    結果運行都是正確的

  7. 整體代碼如下:

    #include<stdio.h>

    void main()

    {

    int i,s1=0,s2=0,s3=0;

    for(i=1;i<=10;i++)//for語句部分

    {

    s1+=i;

    }

    printf("s1=%d ",s1);

    i=1;//while語句部分

    while(i<=10)

    {

    s2+=i;

    i++;

    }

    printf("s2=%d ",s2);

    i=1;//do..while語句部分

    do

    {

    s3+=i;

    i++;

    }while(i<=10);

    printf("s3=%d ",s3);}

⑻ 用C語言編寫兩個數求和求積求商

//用C語言編寫兩個數求和求積求商?
#include<stdio.h>
float add(float x,float y)
{
float z;
z=x+y;
return z;
}float multiply(float x,float y)
{
float z;
z=x*y;
return z;}float divide(float x,float y)
{
float z;
z=x/y;
return z;
}void main()
{
float a,b;
printf("請分別輸入兩個數:");
scanf("%f%f",&a,&b);
printf("%.2f+%.2f=%.2f\n",a,b,add(a,b));
printf("%.2f*%.2f=%.2f\n",a,b,multiply(a,b));
printf("%.2f/%.2f=%.2f\n",a,b,divide(a,b));}

⑼ 用c語言編程計算積分

#include #include 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)); }

⑽ 怎麼用C語言表示積分

源代碼如下:

#include#includefloat 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 ",fsimp(a,b,f1));

}

(10)c語言寫積分求和擴展閱讀

1、對應於一個積分式要有一段程序,可以改變程序的一小部分來改變所要求的積分式。

2、除數不能位0。

3、兩個整數相除,結果仍是整數。

4、若被除數其中有一個為浮點數或者兩個都為浮點數,則結果為浮點類型。操作數必須為整數,不能是浮點數。