预测身高

蓝桥杯练习题

问题描述:
生理卫生老师在课堂上娓娓道来:
你能看见你未来的样子吗?显然不能。但你能预测自己成年后的身高,有公式:
男孩成人后身高=(父亲身高+母亲身高)/21.08
女孩成人后身高=(父亲身高
0.923+母亲身高)/2
数学老师听见了,回头说:这是大样本统计拟合公式,准确性不错。
生物老师听见了,回头说:结果不是绝对的,影响身高的因素很多,比如营养、疾病、体育锻炼、睡眠、情绪、环境因素等。
老师们齐回头,看见同学们都正在预测自己的身高。
毛老师见此情形,推推眼镜说:何必手算,编程又快又简单…
约定:
身高的单位用米表示,所以自然是会有小数的。
男性用整数1表示,女性用整数0表示。
预测的身高保留三位小数

package c算法训练;


/*问题描述:
生理卫生老师在课堂上娓娓道来:
你能看见你未来的样子吗?显然不能。但你能预测自己成年后的身高,有公式:
男孩成人后身高=(父亲身高+母亲身高)/2*1.08
女孩成人后身高=(父亲身高*0.923+母亲身高)/2
数学老师听见了,回头说:这是大样本统计拟合公式,准确性不错。
生物老师听见了,回头说:结果不是绝对的,影响身高的因素很多,比如营养、疾病、体育锻炼、睡眠、情绪、环境因素等。
老师们齐回头,看见同学们都正在预测自己的身高。
毛老师见此情形,推推眼镜说:何必手算,编程又快又简单......
约定:
身高的单位用米表示,所以自然是会有小数的。
男性用整数1表示,女性用整数0表示。
预测的身高保留三位小数*/
import java.util.Scanner;

public class 预测身高 {
public static void main(String[] args) {
       Scanner in=new Scanner(System.in);
       int c=in.nextInt();
       double a=in.nextDouble();
       double b=in.nextDouble();
       if(c==1) {
    	   System.out.printf("%.3f",(a+b)/2*1.08);//printf(%.后位数f,)
       }
       if(c==0) {
    	  System.out.printf("%.3f",(a*0.923+b)/2);
       }
       
}
}

在C语言中,直接预测身高通常涉及到数据建模和机器学习算法,但这超出了C语言的基础范围,因为C主要是用于系统级编程和低级别的应用。然而,如果你要处理这个问题,可以考虑以下几个步骤: 1. **数据收集**:首先需要有一套已知身高和影响因素的数据集,比如年龄、性别、体重等。 2. **选择算法**:选择合适的统计模型或者简单的线性回归模型,对于初学者可能可以尝试多元线性回归,利用这些特征来预测身高。 3. **编写程序**:使用C编写的库,如LIBSVM或MLPACK等机器学习库,来进行训练和预测。你需要了解如何使用这些库的API处理数据、构建模型并执行预测。 4. **模型训练**:将数据划分成训练集和测试集,用训练集训练模型,优化参数。 5. **预测函数**:一旦模型训练完成,你可以编写一个函数,输入相关的特征值,然后调用模型进行身高预测。 ```c #include <stdio.h> #include <your_ml_library.h> //假设有一个ml_library.h包含模型API // 这只是一个示例,实际预测高度函数会更复杂 double predict_height(double age, double weight, double gender) { YourModel *model = load_model("height_prediction.model"); // 加载训练好的模型 double predicted_height = model_predict(model, age, weight, gender); return predicted_height; } int main() { double height = predict_height(age, weight, gender); // 调用预测函数 printf("Predicted height: %.2f cm\n", height); return 0; } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金石不渝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值