| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1160 人关注过本帖, 1 人收藏
标题:如何把这个程序改成应用指针的程序。。。求指点
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你这个不是函数指针啦。

授人以渔,不授人以鱼。
2015-01-06 20:07
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
本想帮楼主写一下代码的
一看是神马积分
压根没学过呀
头一晕
学高数去鸟……

Only the Code Tells the Truth             K.I.S.S
2015-01-06 21:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
给你写了一个:

程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>

double Integral(double low, double high, double increase, double (*Func)(double));
double Func1(double x);
double Func2(double x);
double Func3(double x);

const double Increase = 0.0001;

int main(void)
{
    printf_s("f(x) = x^3 +3x^2 - x + 4   在 (0,1)上的定积分 = %f\n", Integral(0.0, 1.0, Increase, Func1));
    printf_s("f(x) = x * sqrt(1 + cos2x) 在 (0,1)上的定积分 = %f\n", Integral(0.0, 1.0, Increase, Func2));
    printf_s("f(x) = 1 / (1 + x^2)       在 (0,1)上的定积分 = %f\n", Integral(0.0, 1.0, Increase, Func3));

    _getch();
    return EXIT_SUCCESS;
}

// 求任意函数的定积分
double Integral(double low, double high, double increase, double (*Func)(double))
{
    double integral = 0.0;

    for (double x = low; x <= high; x += increase)
    {
        integral += Func(x) * increase;
    }

    return integral;
}

// f(x) = x^3 + 3x^2 - x + 4
double Func1(double x)
{
    return pow(x, 3) + 3 * pow(x, 2) - x + 4;
}

// f(x) = x * sqrt(1 + cos2x)
double Func2(double x)
{
    return x * sqrt(1 + cos(2 * x));
}

// f(x) = 1 / (1 + x^2)
double Func3(double x)
{
    return 1 / (1 + pow(x, 2));
}


运行结果:
图片附件: 游客没有浏览图片的权限,请 登录注册


授人以渔,不授人以鱼。
2015-01-06 21:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用longwu9t在2015-1-6 21:26:04的发言:

本想帮楼主写一下代码的
一看是神马积分
压根没学过呀
头一晕
学高数去鸟……

呵~呵,定积分实际上就是简单的求和而已。

授人以渔,不授人以鱼。
2015-01-06 21:38
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 14楼 TonyDeng
O(∩_∩)O谢谢~

......................................既然琴瑟起,何以笙箫默
2015-01-07 19:15
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 13楼 TonyDeng
那这个。。。算不算用指针返回多个值的那种?

......................................既然琴瑟起,何以笙箫默
2015-01-07 19:27
贺晋飞
Rank: 2
来 自:山西
等 级:论坛游民
帖 子:10
专家分:18
注 册:2015-1-6
收藏
得分:0 
看起来写得完全没错误啊。。。
图片附件: 游客没有浏览图片的权限,请 登录注册

加油
2015-01-07 19:48
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 17楼 贺晋飞
这个是我的这个没用指针的程序运行出来的?

......................................既然琴瑟起,何以笙箫默
2015-01-07 20:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用颜寻在2015-1-7 19:27:38的发言:

那这个。。。算不算用指针返回多个值的那种?

不算。我写的那个积分函数,没有利用指针参数返回任何值,事实上,那只有一个指针,是指向函数的指针,仅提供函数入口的,不返回值。

授人以渔,不授人以鱼。
2015-01-07 21:15
贺晋飞
Rank: 2
来 自:山西
等 级:论坛游民
帖 子:10
专家分:18
注 册:2015-1-6
收藏
得分:0 
回复 18楼 颜寻
恩,是滴没错,我用的devc++

加油
2015-01-08 23:26
快速回复:如何把这个程序改成应用指针的程序。。。求指点
数据加载中...
 
   



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

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