《程序设计实践》第04练——函数定义与调用Part(1/2)
1. 函数——数学函数定义
1.1. 学生模拟题:SC5_1B.cpp(本题15分)
【题目描述】
打开文件SC5_1B.cpp,完成其中的函数fun,根据以下公式计算数学表达式的值,并将结果作为函数值返回。在main()函数中输入x,调用函数fun(x),并输出fun(x)的值。
【输入】
输入文件SC5_1B.in有1行,包含1个double类型的浮点数,即输入的变量x。
【输出】
输出文件SC5_1B.out有1行,包含1个保留3位小数的double类型的浮点数,即输出的函数值。
【输入输出样例1】
SC5_1B.in SC5_1B.out
0.26 0.265
【输入输出样例2】
SC5_1B.in SC5_1B.out
8.5 1.904
【数据限制】
-100≤x≤100。
#include <stdio.h>
#include <math.h>
double fun(double x) {
//函数定义,对应于公式
//*********************************
return (3*x*sin(x)+tan(x))/(1.5+fabs(x));
//=================================
}
int main(){
double x; //x-公式中的双精度浮点型数
FILE *fp;
if((fp=fopen("SC5_1B.in", "r")) != NULL ){
fclose(fp); //存在的话,要先把之前打开的文件关掉
freopen("SC5_1B.in", "r", stdin);
freopen("SC5_1B.out", "w", stdout);
}
scanf("%lf",&x); //输入(接收)双精度浮点数x
//**********************************
printf("%.3lf\n", fun(x)); //调用函数fun()返回函数值,并输出结果
//==================================
return 0;
}
1.2. 拓展题:SC5_1C.cpp(本题15分)
【题目描述】
**打开文件SC5_1C.cpp,完成其中的函数fun,根据以下公式计算数学表达式的值,并将结果作为函数值返回。在main()函数中输入x,调用函数fun(x),并输出fun(x)的值。**
【输入】
输入文件SC5_1C.in有1行,包含1个double类型的浮点数,即输入的变量x。
【输出】
输出文件SC5_1C.out有1行,包含1个保留3位小数的double类型的浮点数,即输出的函数值。
【输入输出样例1】
SC5_1C.in SC5_1C.out
0.26 0.607
【输入输出样例2】
SC5_1C.in SC5_1C.out
18.5 342.250
【数据限制】
-100≤x≤100。
#include <stdio.h>
#include <math.h>
double fun(double x){ //函数定义,对应于公式
//*********************************
if(x<10){
return sqrt(2.5+cos(x))/(x*sin(x)+3);
}else{
return x*x;
}
//=================================
}
int main(){
double x; //x-公式中的双精度浮点型数
FILE *fp;
if((fp=fopen("SC5_1C.in", "r")) != NULL ){
fclose(fp); //存在的话,要先把之前打开的文件关掉
freopen("SC5_1C.in", "r", stdin);
freopen("SC5_1C.out", "w", stdout);
}
scanf("%lf",&x); //输入(接收)双精度浮点数x
//**********************************
printf("%.3lf\n", fun(x)); //调用函数fun()返回函数值,并输出结果
//==================================
return 0;
}
- 函数——功能函数定义1
2.1. 学生模拟题:SC5_2B.cpp(本题15分)
【题目描述】
打开文件SC5_2B.cpp,完成其中的函数IsPrime(int x),该函数用于判断整数x是否为素数,并将判断结果作为函数值返回。在main()函数中输入2个正整数m和n分别作为区间的上、下界,调用函数IsPrime(x)求[m,n]区间内所有素数,并按从小到大的次序输出。
【输入】
输入文件SC5_2B.in有1行,包含2个整数,即正整数m和n,两个整数之间用空格隔开。
【输出】
输出文件SC5_2B.out有1行,包含多个整数,每个整数之间用空格隔开。
【输入输出样例1】
SC5_2B.in SC5_2B.out
2 15 2 3 5 7 11 13
【输入输出样例2】
S