第1个回答 2011-06-01
#include <iostream>
using namespace std;
class factorial
{
int m_nNum;
public:
factorial():m_nNum(1){}
factorial(int num):m_nNum(num){}
void setNum(int num){m_nNum = num;}
long CalFactorial()
{
long n = 1;
int i;
for(i = 1; i <= m_nNum; i++)
n *= i;
return n;
}
int GetNum(){return m_nNum;}
~factorial(){cout<<GetNum()<<"的阶乘为:"<<""<<CalFactorial()<<endl;}
};
void main()
{
factorial fa(5);
}
第2个回答 2011-06-01
#include<iostream>
using namespace std;
class Factorial
{
public:
Factorial(int x){n = x;}
~Factorial(){};
int Calculate()
{
int ans = 1;
for(int i = 2; i <= n; i++)
ans *= i;
return ans;
}
public:
int n;
};
int main()
{
int x;
printf("请输入x的值:");
scanf("%d", &x);
class Factorial fac(x);
int result = fac.Calculate();
printf("%d\n", result);
return 0;
}
好久不写类了,还有点生疏呢。。希望能看懂。加油学习吧
第3个回答 2011-06-01
class ff{
int mN;
int result;
public:
int getResult()const {return result;}
ff(int n){ do(n);}
int do(int n){
mN = n;
result =1;
for(int i=2;i<n;i++) result *=i;
return result;
}
~ff(){};
};
main()
{
ff x(5);
printf("result 5!=%d",xx.getResult());
}