一个程序在TC2.0中能正确运行, 但在VC++6中编译时出错
答案:3 悬赏:60 手机版
解决时间 2021-03-25 06:00
- 提问者网友:姑娘长的好罪过
- 2021-03-24 06:21
一个程序在TC2.0中能正确运行, 但在VC++6中编译时出错
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-03-24 07:39
1、
float area(float (*p)(float t),float x,float y);
这里要增加参数。
2、
float f(float x);
这里多余分号。
修改后:
#include"stdio.h"
float f(float x);
float area(float (*p)(float t),float x,float y);
void main()
{
float a,b,y;
a=0.0;
b=1.0;
y=area(f,a,b);
printf("定积分y=%f\n",y);
}
float area(float (*p)(float t),float x,float y)
{
float s,h;
int n,i;
n=100;
h=(y-x)/n;
s=((*p)(x)+(*p)(y))/2.0;
for(i=1;i {
s=s+(*p)(x+i*h);
}
s=s*h;
return(s);
}
float f(float x)
{
return(1+x*x);
}
float area(float (*p)(float t),float x,float y);
这里要增加参数。
2、
float f(float x);
这里多余分号。
修改后:
#include"stdio.h"
float f(float x);
float area(float (*p)(float t),float x,float y);
void main()
{
float a,b,y;
a=0.0;
b=1.0;
y=area(f,a,b);
printf("定积分y=%f\n",y);
}
float area(float (*p)(float t),float x,float y)
{
float s,h;
int n,i;
n=100;
h=(y-x)/n;
s=((*p)(x)+(*p)(y))/2.0;
for(i=1;i
s=s+(*p)(x+i*h);
}
s=s*h;
return(s);
}
float f(float x)
{
return(1+x*x);
}
全部回答
- 1楼网友:一袍清酒付
- 2021-03-24 09:59
估计是编译环境不同所致
- 2楼网友:孤独的牧羊人
- 2021-03-24 09:03
float area(float (*p)(),float x,float y);
改成
float area(float (*p)(float),float x,float y);
改成
float area(float (*p)(float),float x,float y);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯