| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 474 人关注过本帖
标题:请教高手,哪里出错了?望可以详细解释
只看楼主 加入收藏
西玉
Rank: 1
来 自:河南郑州
等 级:新手上路
帖 子:7
专家分:3
注 册:2010-5-8
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
请教高手,哪里出错了?望可以详细解释
#include <iostream.h>
template <typename T>
T fac(int n)
{  int f;
   if(n<0)
   cout<<"error!"<<endl;
   else if(n=0)||(n=1)
   f=1;
   else if(n>1)
   f=n*fac(n-1);
   return f;

}
  int main()

  {  int a,b,c,m,n,q,g;
  cout<<"please input three numbers:"<<endl;
  cin>>a>>b>>c;
  m=fac(a);
  n=fac(b);
  q=fac(c);
  g=m+n+q;
  cout<<"he="<<g<<endl;

  return 0;

  }
搜索更多相关主题的帖子: 解释 
2010-05-14 12:54
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:20 
T fac(int n)
{  int f;
   if(n<0)
   cout<<"error!"<<endl;
   else if(n=0)||(n=1)
   f=1;
   else if(n>1)
   f=n*fac(n-1);
   return f;
}

★★★★★为人民服务★★★★★
2010-05-14 14:41
西玉
Rank: 1
来 自:河南郑州
等 级:新手上路
帖 子:7
专家分:3
注 册:2010-5-8
收藏
得分:0 
但你好像没改什么啊
2010-05-29 18:34
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:0 
就这些编译不能通过的地方做些修改,至于你函数的功能我就不看了
#include <iostream.h>
template <typename T>
T fac(int n)        //参数用 T n 吧要不然不行
//建议改为 T fac(T n);
{  int f;            //函数的反回值类型为 T ,你下面 return f 在这最好把f的类型也改为T
//建议改为 T f;
   if(n<0)
   cout<<"error!"<<endl;
   else if(n=0)||(n=1)        // if语句有错误,是不是忘了加括号
//建议改为 if((n=0)||(n=1))
   f=1;
   else if(n>1)
   f=n*fac(n-1);
   return f;

}
  int main()

  {  int a,b,c,m,n,q,g;
  cout<<"please input three numbers:"<<endl;
  cin>>a>>b>>c;
  m=fac(a);
  n=fac(b);
  q=fac(c);
  g=m+n+q;
  cout<<"he="<<g<<endl;

  return 0;

  }
2010-05-30 01:18
快速回复:请教高手,哪里出错了?望可以详细解释
数据加载中...
 
   



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

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