/*主要内容:
1.由函数返回单个值。
2.关于返回值类型的思考。*/
#include<iostream>
#include<iomanip>
usingnamespace std;
unsignedlongint fact(int);//此时取尽可能大的正数范围。
int main()
{
int fact_argument;
unsignedlongint fact_value;//声明fact_value为unsigned long int类型。
double one_over_fact_value;
cout<<"Enter a positive integer less"
"than or equal to 12:"<<endl;
cin>>fact_argument;
fact_value=fact(fact_argument);
one_over_fact_value=1.0/fact_value;
cout<<"1/"<<fact_argument<<"!="<<setiosflags(ios::scientific)
<<one_over_fact_value<<endl;
return0;
}
unsignedlongint fact(int arg)
{
int i;
unsignedlongint factorial_of_arg;
factorial_of_arg=1;
for(i=arg;i>=1;i--)//循环计算阶乘。
{
factorial_of_arg*=i;
}
return(factorial_of_arg);
}
/*由函数返回单个值:注意两点,正确的返回值类型和一条返回语句。
例如:unsigned long int fact(int);
返回语句为:return (expression);也可以不加括号。
由main函数返回一个值:对于int main()函数,返回语句一般为:return (0);
也可以不加返回语句,此时C++会自动返回0给操纵系统。*/