CPP2022-28-期末模拟测试01
6-1 实现一个计算三角形面积的简单函数(假设输入的边长合理)。
分数 10
全屏浏览题目
切换布局
作者 王和兴
单位 东北大学秦皇岛分校
实现一个计算三角形面积的简单函数(假设输入的边长合理)。
函数接口定义:
double area(double a, double b, double c);
其中 a
,b
和 c
是三角形的三条合理边长,由用户输入。
裁判测试程序样例:
#include <iostream> #include <iomanip> #include <cmath> using namespace std; double area(double a, double b, double c); int main() { double a, b, c, s; cin>>a>>b>>c; s=area(a,b,c); cout<<setiosflags(ios::fixed)<<setprecision(2)<<s<<endl; return 0; } /* 请在这里填写答案 */
输入样例:
3.0 4.0 5.0
输出样例:
6.00
double area(double a, double b, double c)
{double p=(a+b+c)/2;return sqrt(p*(p-a)*(p-b)*(p-c));
}
6-2 编写一个选择排序函数,实现升序排序功能。
分数 10
全屏浏览题目
切换布局
作者 王和兴
单位 东北大学秦皇岛分校
编写一个选择排序函数,实现升序排序功能。
函数接口定义:
void select_sort(int array[], int n);
其中array是待排序的数组名,n为数据array中元素的个数。
裁判测试程序样例:
#include <iostream> using namespace std; int main() { void select_sort(int array[],int n); int a[10]={6,3,1,4,0,9,8,2,5,7},i; select_sort(a,10); for(i=0;i<10;i++) cout<<a[i]<<" "; cout<<endl; return 0; } /* 你的代码将被嵌在这里 */
输出样例:
0 1 2 3 4 5 6 7 8 9
void select_sort(int array[], int n)
{for(int i=0;i<n;i++){for(int j=i;j<n;j++){if(array[i]>array[j]){int temp=array[i];array[i]=array[j];array[j]=temp;}}}
}
7-1 计算下列分段函数f(x)的值。
分数 10
全屏浏览题目
切换布局
作者 王和兴
单位 东北大学秦皇岛分校
计算下列分段函数f(x)的值。
f(x)={2x−13x+6x≥0x<0
输入
在一行中给出实数x。
输出
在一行中按“f = result”的格式输出计算结果,要求保留两位小数位数。结尾有换行。
输入样例
2.5
输出样例
f = 4.00
#include<bits/stdc++.h>
using namespace std;
int main()
{double n;cin>>n;if(n>=0){cout<<"f = "<<fixed<<setprecision(2)<<2*n-1;}else{cout<<"f = "<<fixed<<setprecision(2)<<3*n+6;}return 0;
}
7-2 求1!+2!+3!+…+n!。
分数 10
全屏浏览题目
切换布局
作者 王和兴
单位 东北大学秦皇岛分校
编写程序,求1!+2!+3!+…+N!。
其中4 <= N <10
输入样例:
5
输出样例:
1!+2!+...+5! = 153
#include<bits/stdc++.h>
using namespace std;
int check(int n)
{if(n==1){return 1;}else{return n*check(n-1);}
}
int main()
{int n;cin>>n;int sum=0;for(int i=1;i<=n;i++){sum=sum+check(i);}cout<<"1!+2!+...+"<<n<<"!"<<" = "<<sum;return 0;
}