程序填空题:函数定义与调用
#include <stdio.h>
#include <math.h>
int main() {
double x;
double y;
x = sqrt((1 - cos(0.5)) / 2);
y = sqrt((2 - cos(0.25)) / 2);
printf("%.2f\n%.2f", x, y);
return 0;
}
这段代码计算了两个式子

这两个式子的共性部分可以看成是一个数学函数

我们能不能在程序中定义这样的一个函数,省去我们写两遍的麻烦呢?
我们可以在main函数前定义一个返回类型为double,函数名为f,接受double a和double b为参数的函数。
double f(double a,double b)
{
}
让我们来调用定义好的函数f代替原来被写了两遍的复杂式子。
c++
#include <stdio.h>
#include <math.h>
double f(double a,double b)
{
@@[return sqrt((a-cos(b))/2);](2)//返回数学函数对应的表达式
}
int main() {
double x;
double y;
x = f(@@[1,0.5](1));//请使用参数1和0.5
y = f(@@[2,0.25](1));//请使用参数2和0.25
printf("%.2f\n%.2f", x, y);
return 0;
有没有觉得现在的程序变得清爽了不少呢?以后,你是不是可以自己完成指定的函数了呢?
答案:
第1空:return sqrt((a-cos(b))/2);
第2空:1,0.5
第3空:2,0.25