身高预测

1. 身高预测
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为
男性成人时身高=(faHeight + moHeight)×0.54cm
女性成人时身高=(faHeight×0.923 + moHeight)/2cm
此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
#include <stdio.h>
#include <string.h>

double height(double faHeight,double moHeight,char sex)
{
	if(sex=='M'||sex=='m')
		return (faHeight + moHeight)*0.54;
	if(sex=='F'||sex=='f')
		return (faHeight*0.923 + moHeight)/2;
	return 0;
}

double sport(double height,char sports)
{
	if(sports=='Y'||sports=='y')
		return height*1.02;
	if(sports=='N'||sports=='n')
		return height;
	return 0;
}

double diet(double height,char diets)
{
	if(diets=='Y'||diets=='y')
		return height*1.15;
	if(diets=='N'||diets=='n')
		return height;
	return 0;
}


int main(void)
{
	char sex,sports,diets,ch;
	double h,faHeight,moHeight;

start:
	printf("请输入男女,M/F:");
	scanf("%c",&sex);

	printf("请输入父亲身高: ");
	scanf("%lf",&faHeight);
	printf("请输入母亲身高: ");
	scanf("%lf",&moHeight);
	h=height(faHeight,moHeight,sex);
	while((ch = getchar()) != '\n' && ch != EOF);

	printf("喜爱体育锻炼吗?Y/N: ");
	scanf("%c",&sports);
	h=sport(h,sports);
	while((ch = getchar()) != '\n' && ch != EOF);

	printf("有良好的饮食习惯吗?Y/N: ");
	scanf("%c",&diets);
	h=diet(h,diets);
	while((ch = getchar()) != '\n' && ch != EOF);
	
	if(h)
		printf("我预测你身高有 %lf CM\n",h);
	else
		printf("您输入有误!!!\n");

	goto start;

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值