| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 389 人关注过本帖
标题:关于调用函数
只看楼主 加入收藏
计院人
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-10-15
收藏
 问题点数:0 回复次数:7 
关于调用函数
#include "stdio.h"
int fun(int n,int m)
{
if(n<m)
return 0;
else if(n>m-n)
return fun(m-n,m);
else if(n==0)
return 1;
else if(n==1)
return m;
else
return fun(n-1,m-1)+fun(n,m-1);
}
void main()
{
int n,m,x;
printf("输入m,n:");
scanf("%d%d",&n,&m);
x=fun(n,m);
printf("n=%d,m=%d,:%d\n",n,m,x);
}


这是我编的一个关于求组合的程序,个人觉得代码本身应该没有什么问题,可能是函数调用的问题,输出时X都是0,好像没有调用函数似的!
搜索更多相关主题的帖子: 函数 
2006-10-19 21:47
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
以下是引用计院人在2006-10-19 21:47:17的发言:
#include "stdio.h"
int fun(int n,int m)
{
if(n<m)
return 0;
else if(n>m-n)
return fun(m-n,m); /*这部分最后会引起if(n<m)成立,所以结果总是0*/
else if(n==0)
return 1;
else if(n==1)
return m;
else
return fun(n-1,m-1)+fun(n,m-1);
}
void main()
{
int n,m,x;
printf("输入m,n:");
scanf("%d%d",&n,&m);
x=fun(n,m);
printf("n=%d,m=%d,:%d\n",n,m,x);
}


这是我编的一个关于求组合的程序,个人觉得代码本身应该没有什么问题,可能是函数调用的问题,输出时X都是0,好像没有调用函数似的!


谁有强殖装甲第二部,可以Q我460054868
2006-10-19 21:58
计院人
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用C语言学习者在2006-10-19 21:58:10的发言:

我知道愿意了,在第一个IF中把N<M改成N >M就行了
原来是我的代码出错了,又判断失误,不好意思


2006-10-19 22:09
kavinka
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-10-19
收藏
得分:0 

有什么用?

2006-10-19 22:17
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
嗯!问楼主

谁有强殖装甲第二部,可以Q我460054868
2006-10-19 22:18
计院人
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-10-15
收藏
得分:0 
求组合排列,那个字我不知道怎么打出来,就是Cnm什么的

2006-10-19 22:23
husi
Rank: 1
等 级:新手上路
威 望:1
帖 子:46
专家分:0
注 册:2006-10-17
收藏
得分:0 
你自己编的程难道都搞不清吗?当输入0和0时,不就输出1了吗?
你的函数有问题!
if(n<m)
return 0;
第一个判断的反例就是n>=m
else if(n>m-n)
return fun(m-n,m);
第二个判断的反例是在第一个反例基础上的,即:2n<=m<=n,
解这个不等式得m=n=0,所以你一下的判断语句:
else if(n==1)
return m;
else
return fun(n-1,m-1)+fun(n,m-1);
就没有用了。根据你得程序除了输入0,0得1外,其他都是零。
原题是什么啊?


2006-10-19 22:45
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

我考虑不周全


谁有强殖装甲第二部,可以Q我460054868
2006-10-19 22:52
快速回复:关于调用函数
数据加载中...
 
   



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

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