编写程序计算身高

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,
影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后身高与其父
​ 母身高和自身性别密切相关。
​ 设faHeight为其父身高,moHeight为其母身高,
身高预测公式为:
​ 男性成人时身高 = (faHeight + moHeight) * 0.54(cm)
​ 女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm)
​ 此外,如果喜爱体育锻炼,那么可增加身高2%
​ 如果有良好的卫生饮食习惯,那么可增加身高1.5%
程序要求:父亲的身高与母亲的身高、小孩的性别、是否喜爱体育锻炼和是否有良好的卫生
​ 饮食习惯也从键盘上输入,最终输出预测的身高。 提示:小孩性别的输入方式,可在屏幕
​ 给出提示“请输入小孩的性别(男孩输入M,女孩输入F):”,然后通过if语句来判断从键盘
​ 输入的字符是M还是F。是否喜爱体育锻炼也可以通过类似的方式实现。

源代码:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main()
{
	float faHeight, moHeight, chHeight;
	char sex;
	int train, eat;
	printf("Please input faHeight and moHeight(cm)\n");
	scanf("%f %f", &faHeight, &moHeight);
	printf("Please input child's sex(M or F):\n");
	scanf(" %c", &sex);
	printf("Please input is child like train and eat(0 or 1):\n");
	scanf("%d %d", &train, &eat);
	switch (sex)
	{
	case 'M':
		if (0 == train && 0 == eat)
		{
			chHeight = (faHeight + moHeight) * 0.54;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else if (0 == train && 1 == eat)
		{
			chHeight = (faHeight + moHeight) * 0.54 * 1.015;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else if (1 == train && 0 == eat)
		{
			chHeight = (faHeight + moHeight) * 0.54 * 1.02;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else if (1 == train && 1 == eat)
		{
			chHeight = (faHeight + moHeight) * 0.54 * 1.035;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else
		{
			printf("ERROR and EXIT!\n");
			exit(0);
		}
		break;
	case 'F':
		if (0 == train && 0 == eat)
		{
			chHeight = (faHeight * 0.923 + moHeight) / 2;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else if (0 == train && 1 == eat)
		{
			chHeight = (faHeight * 0.923 + moHeight) / 2 * 1.015;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else if (1 == train && 0 == eat)
		{
			chHeight = (faHeight * 0.923 + moHeight) / 2 * 1.02;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else if (1 == train && 1 == eat)
		{
			chHeight = (faHeight * 0.923 + moHeight) / 2 * 1.035;
			printf("chHeight = %.2f(cm)\n", chHeight);
		}
		else
		{
			printf("ERROR and EXIT!\n");
			exit(0);
		}
		break;
	default:
		printf("ERROR and EXIT!\n");
		exit(0);
	}

	return 0;
}

运行结果截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值