各位大侠!看我这个程序是什么问题!

放羊大亨 2009-11-27 02:51:05
//这是求 阶称的程序
#include <iostream>
using namespace std;

int fdigui(int n);
int digui(int n, int r);

int main()
{
int n,r,c1,c2;

while(1){
cout<<"请输入n的值:"<<endl;
cin>>n;
cout<<"请输入r的值:"<<endl;
cin>>r;
if(n==0 && r==0){
break; //当n=0,r=0时程序结束
}

if(n>=1 && n>=r){ //当n>=1并且n>=r时,计算
if(r=0){
return 1;
}else if(r=1){
return n;
}else{
c1 = fdigui(n)/(fdigui(r)*fdigui(n-r));
c2 = digui(n,r);
cout<<"非递归算出的结果:"<<c1<<endl;
cout<<"递归算出的结果:"<<c2<<endl;
}
}else{
cout<<"Input Invalid !"<<endl;
}
}
return 0;
}

int fdigui(int n)
{
int result = 1;
for(int i=2;i<=n;++i)
result = result*i;
return result;
}

int digui(int n, int r)
{
return digui(n,r-1)*(n-r+1)/r;
}



为什么不能执行输出呢?
...全文
109 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sj13426074890 2009-11-27
  • 打赏
  • 举报
回复
修改的地方 用mark标出了
sj13426074890 2009-11-27
  • 打赏
  • 举报
回复


//这是求 阶称的程序
#include <iostream>
using namespace std;

int fdigui(int n);
int digui(int n, int r);

int main()
{
int n,r,c1,c2;

while(1){
cout <<"请输入n的值:" <<endl;
cin>>n;
cout <<"请输入r的值:" <<endl;
cin>>r;
if(n==0 && r==0){
break; //当n=0,r=0时程序结束
}

if(n>=1 && n>=r)
{ //当n>=1并且n>=r时,计算
if(r==0) //mark
{
return 1;
}else if(r==1) //mark
{
return n;
}else
{
c1 = fdigui(n)/(fdigui(r)*fdigui(n-r));
c2 = digui(n,r);
cout <<"非递归算出的结果:"<<c1 <<endl;
cout <<"递归算出的结果:" <<c2 <<endl;
}
}
else
{
cout <<"Input Invalid !" <<endl;
}
}
return 0;
}

int fdigui(int n)
{
int result = 1;
for(int i=2;i <=n;++i)
result = result*i;
return result;
}

int digui(int n, int r)
{
if (r==0) //mark
{
return 1;
}
else
{
return digui(n,r-1)*(n-r+1)/r;
}

}





结贴吧 嘻嘻

65,189

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧