用函数求定积分
程序代码:
#include <stdio.h> #include <math.h> double multi(double a,double b); int main(void) { double a,b,k,s,h; int n=100; printf("请输入区间:"); scanf("%f,%f",&a,&b); h=fabs(a-b)/n; k=h*((sin(a)+sin(b))/2.0); //s=h*(sin(a)+sin(b))/2.0+multi(a,b); printf("%0.5f,%0.5f,%0.5f",multi(a,b),k,h); //printf("%f",s); return 0; } double multi(double a,double b) { int i=1,n=100; //double a=0,b=1.5; float h,sum=0; h=fabs(a-b)/n; do { sum+=sin(a+i*h); i++; } while(i<=99); //printf("%0.5f",sum); return sum; }
各位帮忙看看为啥这个程序返回值在主函数中和自定义函数中的返回值不一样呢。就是说我在主函数中输出multi函数的返回值,和我单独用multi输出其需要返回的值不一样。