计算阶乘(键盘敲入)
第一种调用函数fact
#include <cstdio> #include <iostream> using namespace std;
//函数定义不能掉 int fact(int)//函数名为fact inr main() { int i=5; cout<<fact(i+1)<<endl;//要习惯这种输出,直接调用函数,这是计算6的阶乘 return 0; } int fact(int n) { int i,f; f=1; for(i=1:i<=n;i++)f=f*i; return f;%注意有返回 }
第二种定义引用型变量带出结果//注意引用型变量的定义和用法
#include <cstdio> #include <iostream> using namespace std;
//函数定义不能掉 void fact1(int n,int & x);// 函数是空型,变量x前面加了&表面明x为引用型,而n为值型 int main() { int i=5,result; fact1(i+1,result);%由于函数是空型不能直接输出,要单独写出来,即不能写成cout<<fact1(i+1) cout<<result<<endl; return 0; } void fact1(int n,int & x) { int i; x=1; for(i=1;i<=n;i++)x=x*i; %注意此处没有返回值,因为使用的引用型相当于形参会将结果带回 }
最后可以将两个写在一起比对
#include <cstdio> #include <iostream> using namespace std; int fact(int);//函数1 void fact1(int n,int & x);//变量x前面加了&表面明x为引用型,而n为值型 int main() { int i=5,result; cout<<fact(i+1)<<endl; fact1(i+1,result); cout<<result<<endl; return 0; } int fact(int n) { int i,f; f=1; for(i=1;i<=n;i++)f=f*i; return f; } void fact1(int n,int & x) { int i; x=1; for(i=1;i<=n;i++)x=x*i; }