一.实验目的(1)熟悉定义函数的方法、函数是参与形参的对应关系以及“值传递”的方式;(2)熟悉函数的嵌套调用和递归调用的方法;(3)熟悉全局变量、局部变量概念和使用方法;(4)熟悉编译预处理的应用。二.实验软件环境Microsoft visual C++三.实验内容习题四:第2、8、9题四.实验的结果及分析。第2题:void da(float a,float b,float c)
//大于0时的函数{ float x1,x2; x1=(-b+sqrt(b*b-4*a*c))/(2*a),
//按公式计算两解
x2=(-b-sqrt(b*b-4*a*c))/(2*a); cout0)
//当大于0时调用da函数da(a,b,c); else if((b*b-4*a*c)==0)
//当等于0时调用deng函数deng(a,b,c); else xiao(a,b,c);
//当小于0时调用xiao函数}int main(){ float a,b,c,f; cin>>a>>b>>c; suan(a,b,c);
//调用函数 return 0;}运行结果:输入:121 输出:x=-1
132 x1=-1,x2=-2
223
无解第8题:float p(int n,float x){ if(n==0)
//当n=0时,返回值为1 return 1; else if(n==1)
//当n=1时,返回值为xreturn x; else
//当n>=1时,递归计算并返回结果 return ((2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x))/n; }int main(){ int n; float x; cin>>n>>x; if (n"1时,用递归法移 {h(n-1,a,c,b);m(a,c); h(n-1,b,a,c); }}int main(){ h(64,65,66,67);
//用A,B,C的代码赋传递值 return 0;}运行结果: 输出:(省略)五.实验心得体会通过本次上机实验操作,初步领会到定义函数的方法、函数是参与形参的对应关系以及“值传递”的方式;掌握了函数的嵌套调用和递归调用的方法,明白了预处理的应用。同时也提高了本人的编程水平和技巧的应用能力。 |