关于C语言的题目,,求教!!

貌似是数据类型定义错误。。
用矩形法求函数定积分的c函数原型为:float djf(float a,float b,int n),请编制该函数并用相应的主函数和被积函数∫(上标2下标0)根号下(4-x²)dx 进行测试。
我编的如下:
#include <stdio.h>
#include<math.h>
void main()
{
float djf(float a,float b,int n)
printf("input a b n");
scanf("%lf,%lf,%lf",&a,&b,&n);
printf("函数值为:%lf",djf(a,b,n));
}
float djf(float a,float b,int n)
{
float l,h,x,s=0;
int i;
l=(b-a)/n;
for(i=0;i=n-1;i++)
{
x=l*i;
s=s+sqrt(4-x*x);
}
return s;
}
运行有很多错误,,希望解决一下

#include <stdio.h>
#include<math.h>
int main()
{
double a,b;
int n; //你忘记了定义这3个变量
double djf(double a,double b,int n); //这里你忘了加;这个符号
printf("input a b n");
scanf("%lf,%lf,%d",&a,&b,&n); //这里n的格式你写成%lf
printf("函数值为:%lf",djf(a,b,n));
return 0;
}
double djf(double a,double b,int n)
{
double l,h,x,s=0;
int i;
l=(b-a)/n; //l为每一个小矩形的底
for(i=0;i<n;i++)
{
x=a+l*i;
s+=sqrt((double)(4-x*x))*l;//累加每一个小矩形的面积
//因为sqrt函数的原型是double sqrt(double x);
}
return s;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-06
主函数中的变量 a,b,n没声明。
加上 float a=0, b=0, n=0;
另外 函数声明
float djf(float a,float b,int n);//要加分号
第2个回答  2010-05-06
#include <stdio.h>
#include<math.h>
void main()
{
float a,b;
int n;
float djf(float a,float b,int n);
printf("input a b n");
scanf("%lf,%lf,%lf",&a,&b,&n);
printf("函数值为:%lf",djf(a,b,n));
}
float djf(float a,float b,int n)
{
float l,x,s=0;
int i;
l=(b-a)/n;
for(i=0;i=n-1;i++)
{
x=l*i;
s=s+(float)sqrt(4-x*x);
}
return s;
}
错误改了
相似回答