如何用C语言求二重定积分

如何用C语言求二重定积分,第1张

按二重积分的定义做。

我的这个出错,一起讨论下吧:

#include<stdioh>

#include<mathh>

#define N 100

void main(){

double result,(p)(double,double);

double f(double,double);

double integral(double,double,double,double,double(p)());

p=f;

// printf("请输入a b c d 的值:\n");

// scanf("%lf %lf %lf %lf",&a,&b,&c,&d);

result=integral(20,80,0,60,p);

printf("该二重积分的值为:\n");

printf("%f",result);

printf("\n");

}

//求二重积分的函数

double integral(double a,double b,double c,double d,double (p)(double,double)){

int i,j;

double x,y,h1,h2,volum=0;

h1=(b-a)/N;

h2=(d-c)/N;

x=a;

y=c;

for(i=0;i<N;i++){

for(j=0;j<N;j++){

volum+=(p)(x,y)h1h2;

y+=h2;

}

x+=h1;

}

return(volum);

}

double f(double x,double y){

double h;

h=sqrt((2+xx)sin(xy)sin(xy))+xxycos(x)-30xyy;

return (h);

}

运行结果:

10^3

=1000在c语言里是不对的,^在c语言里是按位异或运算符。。lz应该是把vb和c弄混了吧。。vb中10^3

=1000是对的。。

c语言中,10的3次方是1e3,但用e来表示10的次方前提是e前后都是常数,若lz的a在之前被定义为常数,则10ea是对的,不然则要通过循环或函数来实现。。

简单一点函数

pow10(a)就可以表示10的a次方,但是这样用,前面一定要加#include“mathh”,因为这个函数是定义在这个头文件之下的。。

lz念在我大晚上,,还是情人节大晚上给你码字的份上,给我最佳答案吧。。。

#include<iostreamh>

//定义结构类型

struct student

{

    int   num;

    char  name[20];

    float grade;

};

void main(void)

{

    //声明数组

    int i,size;

    char str[]="This is a string";

    int int_values[] = {51, 23, 2, 44, 45,0,11}; 

    float float_values[] = {151, 133, 222, 104, 15};  

    student st_arr[]={101,"WangLin",92,102,"LiPing",85,103,"ZhaoMin",88};

    //显示char类型数组元素及其大小

    size=sizeof(str) / sizeof(char);

    cout<<"Number of elements in str: ";

    cout<<size<<endl;

    for(i=0;i<size;i++) {

        cout<<str[i];

    }

    cout<<endl;

 

    //显示int类型数组元素及其大小

    size=sizeof(int_values) / sizeof(int);

    cout<<"Number of elements in int_values: ";

    cout<<size<<endl;

    for(i=0;i<size;i++) {

        cout<<int_values[i]<<" ";

    }

    cout<<endl;

 

    //显示float类型数组元素及其大小

    size=sizeof(float_values) / sizeof(float);

    cout<<"Number of elements in float_values: ";

    cout<<size<<endl;

    for(i=0;i<size;i++) {

        cout<<float_values[i]<<" ";

    }

    cout<<endl;

 

    //显示student类型数组元素及其大小

    size=sizeof(st_arr) / sizeof(student);

    cout<<"Number of elements in st_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<iostreamh>

//add()函数的定义,其有返回值

double add(double x,double y)

{

    double z;

    z=x+y;

    cout<<x<<"+"<<y<<"="<<z<<endl;

    return(z);

}

 

main()

{

    double a=05,b=10;

    //以不同参数形式调用函数add()

    cout<<"add(15,25)="<<add(15,25)<<endl;

    cout<<"add(a,b)="<<add(a,b)<<endl;

    cout<<"add(2a,a+b)="<<add(2a,a+b)<<endl;

    cout<<"----------------------"<<endl;

 

    //以表达式方式调用函数add()

    double c=2add(a,b);

    cout<<"c="<<c<<endl;

    cout<<"----------------------"<<endl;

 

    //以语句式方式调用函数add()

    add(2a,b);

    cout<<"----------------------"<<endl;

 

    //用其他类型参数调用函数add()

    int n=1,m=2;

    cout<<"add("<<n<<","<<m<<")="<<add(n,m)<<endl;

}

#include<iostreamh>

//定义符号函数sgn(),其返回值为int类型

int sgn(double x)

{

    if (x>0) return(1);    //返回出口1

    if (x<0) return(-1);   //返回出口2

    return(0);          //返回出口3

}

//main()函数定义

main()

{

    double x;

    int i;

    for (i=0;i<=2;i++) {

        cout<<"x=";

        cin>>x;

        cout<<"sgn("<<x<<")="<<sgn(x)<<endl;

    }

}

源代码如下:

#include#includefloat f1(float x)

{

return(10+x);

}

float f2(float x)

{

return(20x+30);

}

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)+4p(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));

}

扩展资料

1、对应于一个积分式要有一段程序,可以改变程序的一小部分来改变所要求的积分式。

2、除数不能位0。

3、两个整数相除,结果仍是整数。

4、若被除数其中有一个为浮点数或者两个都为浮点数,则结果为浮点类型。 *** 作数必须为整数,不能是浮点数。

以上就是关于如何用C语言求二重定积分全部的内容,包括:如何用C语言求二重定积分、积分在C语言里怎么实现、C语言编程如何编写积分公式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9742301.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存