Java 蓝桥杯 算法训练 ALGO_200_预测身高
标题
/*
*@author MingxuDeng
*@version 20202020年10月12日
问题描述:
生理卫生老师在课堂上娓娓道来:
你能看见你未来的样子吗?显然不能。但你能预测自己成年后的身高,有公式:
男孩成人后身高=(父亲身高+母亲身高)/2*1.08
女孩成人后身高=(父亲身高*0.923+母亲身高)/2
数学老师听见了,回头说:这是大样本统计拟合公式,准确性不错。
生物老师听见了,回头说:结果不是绝对的,影响身高的因素很多,比如营养、
疾病、体育锻炼、睡眠、情绪、环境因素等。
老师们齐回头,看见同学们都正在预测自己的身高。
毛老师见此情形,推推眼镜说:何必手算,编程又快又简单......
约定:
身高的单位用米表示,所以自然是会有小数的。
男性用整数1表示,女性用整数0表示。
预测的身高保留三位小数
输入格式
用空格分开的三个数,整数 小数 小数
分别表示:性别 父亲身高 母亲身高
输出格式
一个小数,表示根据上述表示预测的身高(保留三位小数)
样例输入
1 1.91 1.70
样例输出
1.949
样例输入
0 1.00 2.077
样例输出
1.500
数据规模和约定
父母身高范围(0,3]
时间限制1.0秒
*/
package ALGO;
import java.util.Scanner;
public class ALGO_200_预测身高 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int sex=s.nextInt();//整数:性别
double f=s.nextDouble();//小数:父亲身高
double m=s.nextDouble();//小数:母亲身高
/*
//方法一:
switch(sex) {
case 0:// 0 表示女生
//男孩成人后身高=(父亲身高+母亲身高)/2*1.08
System.out.printf("%.3f",(f*0.923+m)/2);//格式化输出三位小数(下同)
break;
case 1:// 1 表示男生
System.out.printf("%.3f",(f+m)/2*1.08);//女孩成人后身高=(父亲身高*0.923+母亲身高)/2
break;
default:
break;
}*/
//方法二:
if(sex==0) {
System.out.printf("%.3f",(f*0.923+m)/2);//男孩成人后身高=(父亲身高+母亲身高)/2*1.08
}else if(sex==1) {
System.out.printf("%.3f",(f+m)/2*1.08);//女孩成人后身高=(父亲身高*0.923+母亲身高)/2
}
}
}
可以参考:https://blog.csdn.net/DAurora/article/details/109038196