| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 312 人关注过本帖
标题:通过指向函数的指针实现
只看楼主 加入收藏
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
结帖率:75.86%
收藏
已结贴  问题点数:7 回复次数:8 
通过指向函数的指针实现

            从键盘上输入一个整数n,当n为偶数时,调用函数求2+4+...+n之和;当n为奇数时,调用函数求1*3*...*n之积。
            要求用指针;

            这个是不是输入指针,然后直接用指针来计算呢?
            还有“通过指向函数的指针实现”是什么意思哇
              要怎么做呢?

                 

 #include<stdio.h>
void sort(int n)
{
    int i,x=1;
    int sum=0;
    if(n%2==0)
        sum=(2+n)*n/4;
    else
        sum=x*(x+2);
    printf("输出:%d\n",sum);
}
int main()
{
    int a;
    printf("输入n:");
    scanf("%d",&a);
    sort(a);
    return 0;
}
搜索更多相关主题的帖子: include 键盘 
2013-12-11 12:35
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:3 
其实可以不用判断奇偶

int Count(int n)
{
    int nResult = 0;
    while (n > 0) {
        nResult += n;
        n -=2;
    }
    return nResult;
}

为什么一定要用指针呢? 如果一定要用指针的话,

bool Count(int n, int *pnResult)
{
    if (n <0 || pnResult == NULL) {
        return false;
    }

    *pnResult = 0;
    while (n > 0) {
        *pnResult += n;
        n -=2;
    }

    return true;
}

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-12-11 12:43
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
收藏
得分:0 
回复 2楼 yuccn


              不行啊不行啊,bool没学过,不知道啊

自定义人生。。。
2013-12-11 12:48
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:3 
指向函数的指针,指向谁就调用谁,有一致的返回类型,有一致的参数类型

www.qunxingw.wang
2013-12-11 14:22
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
收藏
得分:0 
回复 4楼 qunxingw



                       .

自定义人生。。。
2013-12-11 14:49
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:3 
那你就首先要写两个函数了。就是你的那个奇数偶函数,然后判断啊。奇数就指向奇函数。偶数就指向偶函数

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-11 17:22
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
收藏
得分:0 
回复 6楼 so_love


            知道了,这样

                  


#include<stdio.h>
int sort(int n)
{
    int i,x=1;
    int sum=0;
    if(n%2==0)
    {
        sum=(2+n)*n/4;
    }
    if(n%2!=0)
    {
        sum=1;
        for(i=1;i<(n+1)/2;i++)
        {
            sum=sum*(x+2);
            x=x+2;
        }
    }
    return sum;
}
int main()
{
    int n,m;
    int (*p)(int);
    printf("输入n:");
    scanf("%d",&n);
    p=sort;
    m=(*p)(n);
    sort(n);
    printf("输出:%d\n",m);
    return 0;
}

自定义人生。。。
2013-12-12 14:39
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
。。。。。我么写。。。就是看看  不说话。。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-12 15:07
qq1274371820
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2013-11-24
收藏
得分:0 
回复 8楼 so_love




           我写出来了

自定义人生。。。
2013-12-12 23:20
快速回复:通过指向函数的指针实现
数据加载中...
 
   



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

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