本题要求实现一个函数area,传入半径参数后计算圆的面积,并将半径参数的值修改为原值的10倍。(圆周率为3.14)
裁判测试程序样例:
//在这里给出函数被调用进行测试的例子。例如:
#include <iostream>
using namespace std;
/****请在这里填写答案********/
int main(){
double r = 0;
cin>>r;
cout<< area(r)<<endl; //输出半径为r的圆面积,并且r值变为原值的10倍
cout<< area(r)<<endl; //再次输出半径为r的圆面积,此时面积值应为上次的100倍
return 0;
}
输入样例:
在这里给出一组输入。例如:
1
输出样例:
在这里给出相应的输出,例如:
3.14
314
运行代码如下:
double area(double &r){
const float PI=3.14;//定义一个const常变量,使其值不能发生改变
double areaResult=PI*r*r;
r*=10;
return areaResult;
}
注意:我们这里的 r*=10 是不可以写在 return areaResult 之后,因为函数在执行 return areaResult;这个语句时是不会再执行后面的语句了。
总结:
在函数定义中,double area(double &r)中的&r是一个引用参数。使用引用参数可以在函数内部修改传过来的变量的值。
在这个程序中,area 函数计算半径为 r 的圆的面积,并通过乘以10来修改 r 的值。如果不使用引用参数,那么 r 的值将不会改变,因为函数内部对 r 的任何修改不会影响到函数外部的变量。使用引用参数可以确保在函数返回后 r 的值会被修改。