计算机求N的阶乘 C++做法

来源:百度知道 编辑:UC知道 时间:2024/05/16 02:34:40

#include<iostream>
using namespace std;
int fac(int n)
{
int s=1;
for (int i=n;i>0;i--)
{
if (s<=s*i) s=s*i;
else
{
cout<<"over int area"<<endl;
return 0;
};
}
return s;
}
void main()
{

cout<<"10!="<<fac(10)<<endl;
cout<<"30!="<<fac(30)<<endl;//30的阶乘超过了int的表达范围,所以返回0,0表示不能表示结果.你可以试着用更大的整型.
}

先声明一下,回答者"黄振_kjxy"的只能在V C++ 7.中可以用,最新的C++版本
我的回答是V C++ 6.0的做法
#include<iostream.h>
void main()
{
int a,b;
long int c=0;
cout<<"请输入一个整数:";
cin>>a;
for(b=1;b<=a;b++)
c*=b;
cout<<a<<"的介乘是:"<<c<<'\n';
}

你不是C++高手,要不不会问这么简单的问题.

#include <iostream.h>
void main()
{int a,n;
cin>>n;
for(a