| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 901 人关注过本帖
标题:为什么第二个打印出来是乱码啊
只看楼主 加入收藏
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:17 
为什么第二个打印出来是乱码啊
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

 double jifen(double t,double x,double *p1,double *p2,double *p3)//定义指针函数
{
    double f1,f2,f3;
    while(x<1)
        {
            f1+=t*(x*x*x+3*x*x-x+4);
            f2+=t*(x*sqrt(1+cos(2*x)));
            f3+=t*(1/(1+x*x));
            x+=t;
        }                      //进行积分运算
        *p1=f1;*p2=f2;*p3=f3;
        return x;//返回一个值
}
int main()
{
    double t=0.001,x=0,f1=0,f2=0,f3=0,n;
    n=jifen(t,x,&f1,&f2,&f3);
    printf("\nf(x)=x^3+3x^2-x+4在(0,1)上定积分为%lf\n",f1);
    printf("\nf(x)=x*sqrt(1+cos2x)在(0,1)上定积分为%lf\n",f2);
    printf("\nf(x)=1/(1+x^2)在(0,1)上定积分为%lf\n",f3);
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include double return 
2015-01-06 16:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你看看原帖的12楼,我写的跟你写的有什么区别?

授人以渔,不授人以鱼。
2015-01-06 21:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
我好像也没看着指针函数啊
2015-01-06 23:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
他那个不是指针函数,只是使用指针传参,在求积分函数中出现了具体的函数编码,已经不符合要求,跟原先的无区别。其实我所谓指针函数,是省略的说法,正确的表述应该是“用指向函数的指针传参”。见原帖(https://bbs.bccn.net/thread-440763-1-1.html)的13楼。

授人以渔,不授人以鱼。
2015-01-06 23:39
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用TonyDeng在2015-1-6 23:39:47的发言:

他那个不是指针函数,只是使用指针传参,在求积分函数中出现了具体的函数编码,已经不符合要求,跟原先的无区别。其实我所谓指针函数,是省略的说法,正确的表述应该是“用指向函数的指针传参”。见原帖(https://bbs.bccn.net/thread-440763-1-1.html)的13楼。

你说不说术语无所谓 误导小妹妹就不好了

还是我好
2015-01-06 23:42
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
见了MM就……
你们啊

Only the Code Tells the Truth             K.I.S.S
2015-01-06 23:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我说了求任意函数的定积分嘛,意思就是求积分那个函数本身是不知道所求函数的表达式的。

授人以渔,不授人以鱼。
2015-01-06 23:47
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用longwu9t在2015-1-6 23:44:29的发言:

见了MM就……
你们啊

你怎么知道是妹妹?我只是开个玩笑罢了
2015-01-06 23:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
看我的原话:
图片附件: 游客没有浏览图片的权限,请 登录注册


已经说明是可指向任意函数的指针了。

授人以渔,不授人以鱼。
2015-01-06 23:50
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:5 
程序代码:
#include<stdio.h>
#include<math.h>
float f1(float x)
{
    return x*x*x+3*x*x-x+4;
    }//求函数x3+3x2-x+4
    //下面的函数用微元发求积分
    float jifen(float(*p)(float),float a,float b,int n)
    {//a,b为上下限
        int i;
        float h,x,s;
        h=(b-a)/n;//将区间分为n份
        x=a;
        s=0;
        for(i=1;i<=n;i++)
        {
            x=x+h;
            s=s+(*p)(x)*h;
            }//微元法将求函数变为求n个
            //小矩形面积的和
            return s;
        }
        int main()
        {
            float a,b,c,(*p)(float);
            int n=20;//将区间分为20分
            printf("input a,b:");
            scanf("%f%f",&a,&b);
            p=f1;
            c=jifen(p,a,b,n);
            printf("f1的积分为:%f",c);
            return 0;
            }

一片落叶掉进了回忆的流年。
2015-01-07 11:16
快速回复:为什么第二个打印出来是乱码啊
数据加载中...
 
   



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

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