分数 10
全屏浏览题目
切换布局
作者 陈越
单位 浙江大学
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。
下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。
输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。
输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。
输入样例:
2
M 1.75
F 1.8
输出样例:
1.61
1.96
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
我的答案:
分析过程:
对于给定的身高,我们可以使用简单的公式来计算情侣的最佳身高。根据题目的描述:
- 如果是男性,我们可以使用公式:女方的身高 = 男方的身高 / 1.09
- 如果是女性,我们可以使用公式:男方的身高 = 女方的身高 * 1.09
我们只需遍历每个用户,并根据他们的性别和身高使用上述公式来计算最佳的身高。
C语言:
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
for(int i = 0; i < N; i++) {
char gender;
double height, result;
scanf(" %c %lf", &gender, &height);
if(gender == 'M') {
result = height / 1.09;
} else {
result = height * 1.09;
}
printf("%.2lf\n", result);
}
return 0;
}
C++:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int N;
cin >> N;
for(int i = 0; i < N; i++) {
char gender;
double height, result;
cin >> gender >> height;
if(gender == 'M') {
result = height / 1.09;
} else {
result = height * 1.09;
}
cout << fixed << setprecision(2) << result << endl;
}
return 0;
}
解题思路:
这个问题的解题思路很直接。我们需要按照给定的条件使用公式来计算结果。考虑到我们要保留两位小数,所以我们使用了C++的setprecision
和C语言的格式化输出来实现这个要求。
这个问题可以帮助我们加强对公式计算和格式化输出的理解和应用。