标题:(1)说转化double to float 有问题;(2)子函数名为什么不能用y1?
取消只看楼主
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
结帖率:92.86%
已结贴  问题点数:10 回复次数:2 
(1)说转化double to float 有问题;(2)子函数名为什么不能用y1?
#include<stdio.h>
#include<math.h>
float y2(float x)
{
  float y;
  y=sin(x);
  return(y);   
}
float y3(float x)
{
 float y;
 y=    cos(x);
 return(y);
}
float y4(float x)
{
   float y;
   y=exp(x);
   return(y);   
}
void process(float a,float b, float (*fun)(float) )
{
    float x,d,sum=0,z,i,k=10000;
    d=(b-a)/k;
    for(i=0;i<=k;i++)
    {
        x=a+d*i;
        z=(*fun)(x);
        sum+=z*d;
    }
    printf("%5.1f\n",sum);
}
void main()
{
  float a,b;
  scanf("%f,%f",&a,&b);
  process(a,b,y2);
  process(a,b,y3);
  process(a,b,y4);   
}

[ 本帖最后由 xdh0817 于 2011-11-8 23:23 编辑 ]
搜索更多相关主题的帖子: include process double return 
2011-11-08 23:10
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
得分:0 
以下是引用heroinearth在2011-11-9 15:45:11的发言:

转化double to float 没有问题,警告只是说将double型存到float中会造成数据精度损失。编译没有问题
第一个被调用的函数名为什么不能使y1?m1,z1.。。。。。都可以,不能是y1?
2011-11-09 17:56
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
得分:0 
以下是引用silent_world在2011-11-9 18:50:26的发言:

在math.h中,
_CRTIMP double  __cdecl j1(double);
_CRTIMP double  __cdecl jn(int, double);
_CRTIMP double  __cdecl y0(double);
_CRTIMP double  __cdecl y1(double);
_CRTIMP double  __cdecl yn(int, double);

y1已经被征用,呵呵。




原来如此
2011-11-09 18:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354664-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.086647 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved