标题:求任意一个数的阶乘,怎么写?
只看楼主
捉迷藏
Rank: 1
等 级:新手上路
帖 子:11
专家分:7
注 册:2012-3-4
结帖率:50%
已结贴  问题点数:5 回复次数:14 
求任意一个数的阶乘,怎么写?
我是初学者这是我写的,但错误。whlie(i)这里是不是错的?随便帮我改改!我想好久,
明天就上交了。
#include<iostream.h>
void main()
{
    int i=1,y=1;
    cout<<"请输任意一个数i"<<endl;
    cout<<"输入i=";cin>>i;
    while(i)
    {
        y*=i;
        i++;
    }
    cout<<"y="<<y<<endl;
}
搜索更多相关主题的帖子: 上交 
2012-03-04 20:09
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:1 
死循环了,不考虑大数的情况下:
while(i)
{
    y*=i;
    i--;
}

我行我乐
我的博客:
http://blog.yuccn. net
2012-03-05 11:28
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
得分:1 
楼主这写法不对吧。。。

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-03-05 11:44
kxdbdq
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-29
得分:1 
这是我写的阶乘程序并成功编译运行,看看怎么样。


#include<iostream.h>
int main(void)
{
    int i,a;
    long s;
    char c='a';
    for(;c!='q';)
    {
    s=1;
    cout<<"输入一个数,我将计算它的阶乘。"<<endl;
    cin>>i;
    for(a=1;a<=i;a++)
    s*=a;
    cout<<"这是结果:"<<s<<endl;
    cout<<"需要继续吗?按任意键继续,q退出。"<<endl;
    cin>>c;
}
return 0;
}
2012-03-05 14:05
庄飞
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2012-1-15
得分:1 
程序代码:
[local]1[/local]
#include <iostream>
  using namespace std;
  int main()
  {
     int i,j,k;
     i=1;j=2;
     cout<<"请输入任意一个数:"<<endl;
     cin>>k;
     for(j=2;j<=k;j++)
     {
        i=i*j;
     }
    cout<<i<<endl;
    return 0;

 

 

 

 
  

  }


%6T8IS8DB`S3K7J]E$G%%]X.jpg (26.21 KB)
2012-03-05 20:29
zhengyuhong
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2012-2-28
得分:1 
回复 楼主 捉迷藏
或者使用递归,学了吗?
2012-03-05 22:21
cheng579934
Rank: 2
等 级:论坛游民
帖 子:13
专家分:55
注 册:2012-3-5
得分:1 
#include <iostream>
using namespace std;
void main()
{    int i=1,j,k;
    cout<<"请输入任意一个整数:"<<endl;
    cin>>k;
    for(j=1;j<=k;j++)
    {
        i=i*j;
    }
    cout<<i<<endl;
}
2012-03-05 23:03
李亚宽
Rank: 1
等 级:新手上路
帖 子:13
专家分:4
注 册:2012-2-23
得分:1 
按你的写的
我也是初学者以后多多交流指教
#include<iostream.h>
void main()
{
    int i=1,y=1;
    cout<<"请输任意一个数i"<<endl;
    cout<<"输入i=";
    cin>>i;
    while(i>0)
    {
        y*=i;
        i--;
    }
    cout<<"y="<<y<<endl;
}
2012-03-06 13:54
非死亡!
Rank: 8Rank: 8
来 自:四川
等 级:蝙蝠侠
帖 子:179
专家分:760
注 册:2011-10-31
得分:1 
2b青年的写法  高手勿喷
程序代码:
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
static int pi = 1;
static int sum = 0;
int main()
{  
    cout<<"Input the number!"<<endl;
    int lengthi;
    cin>>lengthi;
    for(int i = 1;i <= lengthi;++i)
    {
       
        pi *= i;
        sum += pi;
        cout<<"the sum "<<lengthi<<"jie cheng shi:"<<sum<<endl;
    }
    return 0;
}

能力 技巧
2012-03-06 22:44
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:1 
回复 9楼 非死亡!
你这个求的是阶乘吗?咋还加起来了?
2012-03-06 23:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-362208-1-1.html




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

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