设计一个函数,用来计算阶乘,不使用递归算法,

问题描述:

设计一个函数,用来计算阶乘,不使用递归算法,
并编写主函数,在主函数中输入数据并调用所写函数计算
c++
1个回答 分类:综合 2014-11-25

问题解答:

我来补答
#include <iostream>
using namespace std;
long fact(int n)
{
    long ret=1;
    for(i=2;i<=n;i++)
        ret=ret*i;
    return ret;
}
 
void main()
{
    int num;
    cout<<"please input a number(1-20)";
    cin>>num;
    cou<<num<<"!="<<fact(num)<<endl;
}
再问: 运行出错啊,有简洁一点的么?还有我们好像用的都是#include
再答: //C++写法
#include <iostream> 
using namespace std; 
long fact(int n) 

    long ret=1; 
    for(int i=2;i<=n;i++) 
        ret=ret*i; 
    return ret; 

   
void main() 

    int num; 
    cout<<"please input a number(1-20)"; 
    cin>>num; 
    cout<<num<<"!="<<fact(num)<<endl; 

 
 
 
//c语言写法
#include <stdio.h>
long fact(int n) 

    long ret=1; 
    for(int i=2;i<=n;i++) 
        ret=ret*i; 
    return ret; 

   
void main() 

    int num; 
    printf("please input a number(1-20)"); 
    scanf("%d",&num); 
    printf("%d!=%ld",num,fact(num));
}
再问: 请问有一处错误怎么回事?我输的是第二个
再答: 我调试通过的,你把错误切图给我看一下。或者把错误复制给我看一下
再问:
再答: 我知道了你在 long ret=1 后面一行加一个 int i; 然后你的 第五行 for 后面的 int 三个字母删除掉。
 
 
展开全文阅读
剩余:2000
上一页:弧度制96页