专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09

7-129 最佳情侣身高差 (10 分)

专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09
=(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。

下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。

输入格式:

输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。

输出格式:

对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。

输入样例:

2
M 1.75
F 1.8

输出样例:

1.61
1.96

参考

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





int main(void)
{
    int n;
    scanf("%d",&n);
    int i=n-1;
    float *a;
    a=(float*)malloc(sizeof(float)*n);
    
    while(n--){
        char gender;
        float height;
        scanf(" %c %f",&gender,&height);
        if(gender=='M'){
            a[n]=height/1.09;
        }else if(gender=='F'){
            a[n]=height*1.09;
        }
    }
    
    for(;i>=0;i--){
        printf("%.2f\n",a[i]);
    }
    
    return 0;
}

总结:

题目不难,但是有2个小要点

  • 用了数组a[]去记录每次计算的结果,但是这里的输入数据数量是未知的,所以尝试用malloc()函数去分配内存。
  • 使用scanf("%c")读取字符需要格外注意,因为%c很容易失误读取到上一次输入的回车。解决办法是在%c前面添加一个空格。
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值