PTA——身高预测

PTA——身高预测

每个父母都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。

设 faHeight为父亲的身高,moHeight为母亲的身高,身高预测公式为: 男性成人时身高=( faHeight+moHeight)×0.54 女性成人时身高=( faHeight×0.923+ moHeight)/2cm 此外,如果喜爱体育锻炼,那么身高可增加2%;如果有良好的卫生饮食习惯,那么身高可增加1.5%。

试编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F或f表示女性,输入字符M或m表示男性)、父母身高(用实型变量存储,faHeight为父亲的身高,moHeight为母亲的身高)、是否喜爱体育锻炼(用字符型变量 sports存储,输入字符Y或y表示喜爱,输入字符N或n表示不喜爱)、是否有良好的饮食习惯(用字符型变量diet存储,输入字符Y或y表示良好,输人字符N或n表示不好)等条件,利用给定公式和身高预测方法对身高进行预测。

输入格式:
在一行中给出性别、父亲身高、母亲身高、是否喜爱体育锻炼、是否有良好饮食习惯,数据间以空格分隔。

输出格式:
输出预测的身高,保留一位小数。

做此题之前需明确ASCII码的使用

#include<stdio.h>
int main()
{
	printf("%d", 'a');//输出的是a所对应ASCII码的十进制数
}

此方法可用检索字符所对应的ASCII码

//编写一个程序,读入一个字母,输出与之对应的ASCII 码值
#include<stdio.h>
int main( )
{
    char a;//定义字符型变量a
    a=getchar();//此函数不需要输入scanf
    //可以理解为将输入的字符放在此储存单元中
    printf("%d",a);
    return 0;
}

思路:
首先预测身高在大类上分成预测男性身高和预测女性身高,选定性别后,再判断是否有运动和饮食的影响,最后就是注意细节!!!

此题代码如下

#include<stdio.h>
int main()
{
	double faHeight, moHeight, height, x, y;
	//此处之所以设置双精度数据,是因为接下来有小数
	char sex, sports, diet;//注意定义变量的类型
	scanf("%c %lf %lf %c %c", &sex, &faHeight, &moHeight, &sports, &diet);
	if (sex == 'F' || sex == 'f')//女性
	{
		height = (faHeight * 0.923 + moHeight) / 2.0;
		if (sports == 'Y' || sports == 'y')//是否运动
			x = height * 0.02;
		if (diet == 'Y' || diet == 'y')//是否健康饮食
			y = height * 0.015;
	}
	if (sex == 'M' || sex == 'm')//男性
	{
		height = (faHeight + moHeight) * 0.54;
		if (sports == 'Y' || sports == 'y')//是否运动
			x = height * 0.02;
		if (diet == 'Y' || diet == 'y')//是否健康饮食
			y = height * 0.015;
	}
	printf("%.1lfcm", height + x + y);
	//注意由于运动和健康饮食产生的影响是在原始身高上,最后再加和
	return 0;
}
  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值