复制
收藏
提问
简洁
从键盘输入自己的性别(F 表示女性, M 表示男性)、分别输入父母身高(cm)、输入自己是否喜爱体育锻炼( Y/N)、是否有良好的饮食习惯( Y/ N ),利用下方给定公式计算预测自己成人时的身高。 男性成人时身高=(父亲身高+母亲身高)×0.54 cm 女性成人时身高=(父亲身高×0.923+母亲身高)/2 cm 如果喜爱体育锻炼,那么可增加身高 2%;如果有良好的卫生饮食习惯,那么可增加身高 1.5%。 例如:如果输入信息为女性,父亲182cm,母亲162cm,爱锻炼,有好饮食习惯, 那么 输出的预测身高为170.817261(cm) c语言
4月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
根据您提供的信息,我们可以编写一个C语言程序来预测成人时的身高。程序将根据输入的性别、父母身高、是否喜爱体育锻炼以及是否有良好的饮食习惯来计算预测身高。以下是程序的详细步骤和代码实现:
- 输入性别:用户输入性别,'F' 表示女性,'M' 表示男性。
- 输入父母身高:用户分别输入父亲的身高和母亲的身高(单位为厘米)。
- 输入体育锻炼情况:用户输入是否喜爱体育锻炼,'Y' 表示喜爱,'N' 表示不喜爱。
- 输入饮食习惯:用户输入是否有良好的饮食习惯,'Y' 表示有,'N' 表示没有。
- 计算预测身高:根据性别使用不同的公式计算基础身高,然后根据体育锻炼和饮食习惯调整身高。
以下是C语言程序的实现:
#include <stdio.h>
int main() {
double faHeight, moHeight, yourHeight;
char sex, sports, diet;
// 输入父母的身高
printf("输入父亲身高(cm):");
scanf("%lf", &faHeight);
printf("输入母亲身高(cm):");
scanf("%lf", &moHeight);
// 输入性别
printf("输入你的性别 (F代表女性,M代表男性):");
scanf(" %c", &sex); // 使用空格忽略前一个输入后的换行符
// 输入是否喜爱体育锻炼
printf("是否喜爱体育锻炼?(Y/N):");
scanf(" %c", &sports);
// 输入是否有良好的饮食习惯
printf("是否有良好的饮食习惯?(Y/N):");
scanf(" %c", &diet);
// 根据性别计算基础身高
if (sex == 'F' || sex == 'f') {
yourHeight = ((faHeight * 0.923) + moHeight) / 2;
} else if (sex == 'M' || sex == 'm') {
yourHeight = (faHeight + moHeight) * 0.54;
} else {
printf("无效的性别输入。");
return 1;
}
// 根据体育锻炼和饮食习惯调整身高
if (sports == 'Y' || sports == 'y') {
yourHeight *= 1.02; // 增加2%
}
if (diet == 'Y' || diet == 'y') {
yourHeight *= 1.015; // 增加1.5%
}
// 输出预测身高
printf("预测的成人身高为: %.2f cm\n", yourHeight);
return 0;
}
这个程序首先提示用户输入必要的信息,然后根据输入的性别使用相应的公式计算基础身高。如果用户喜爱体育锻炼或有良好的饮食习惯,程序将相应地增加身高的百分比。最后,程序输出预测的成人身高。1234567
你觉得结果怎么样?