c语言编程求预测子女身高,C语言的那些题(三) —— 编程计算身高问题完善版

发上去以后,一位看到我文章的朋友告诉我,代码逻辑上有点问题,而且分支结构过多,会在以后开发过程中影响程序运行效率,于是他告诉我应该完善哪些地方.很高兴他能够抽出时间阅读我的文章,并且花时间告诉我存在的问题.希望其他朋友也能多提意见,大家一起学习.

听取了我那位朋友的意见之后,我修改了代码,代码如下:

float faHeight = 0, moHeight = 0, adultHeight = 0;

char childSex = 0, sport = 0, health = 0;

printf("请输入父亲的身高(cm):");

scanf("%f", &faHeight);

printf("请输入母亲的身高(cm):");

scanf("%f", &moHeight);

printf("请输入小孩的性别(男孩输入M,女孩输入F):");

getchar();

scanf("%c", &childSex);

if (childSex == 'M') {

adultHeight = ((faHeight + moHeight) * 0.54);

} else {

adultHeight = ((faHeight * 0.923 + moHeight) / 2);

}

printf("预测的基准身高是:%.2f(cm)\n", adultHeight);

printf("小孩是否喜爱体育锻炼(喜欢输入Y,不喜欢输入N):");

getchar();

scanf("%c", &sport);

printf("小孩是否有良好的饮食习惯(有输入Y,没有输入N):");

getchar();

scanf("%c", &health);

if (sport == 'Y' && health == 'Y') {

adultHeight += adultHeight * (0.02 + 0.015);

} else if (sport == 'Y' && health == 'N') {

adultHeight += adultHeight * 0.02;

} else if (sport == 'N' && health == 'Y') {

adultHeight += adultHeight * 0.015;

}

printf("其他因素影响情况下最终预测的身高是:%.2f", adultHeight);

修改过之后有什么区别呢?在这里先判断了是男孩还是女孩,计算出一个基准身高.然后再根据其他因素的影响计算出最终的预测身高.这和之前相比,其他影响因素的判断分支就只写一次,从代码简洁上和运行效率上有了一些改善.

如果这次的代码还有可以完善的地方,还望各位多多指教.

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值