投入就放过 发表于 2022-2-7 16:33:57

C语言第八课 动动手第二题

#include <stdio.h>

int main()
{
      char name;
      float height, weight;       //为什么这里的float改为double就不行呢?

      printf("请输入您的姓名:");
      scanf("%s", name);

      printf("请输入您的身高(cm):");
      scanf("%f", &height);

      printf("请输入您的体重(kg):");
      scanf("%f", &weight);

      printf("========== 正在为您转换 ==========\n");

      height = height / 2.54; // 厘米转换为英寸
      weight = weight / 0.453; // 公斤转换为磅

      printf("%s的身高是%.2lf(in),体重是%.2lf(lb)。\n", name, height, weight);

      return 0;
}

ckblt 发表于 2022-2-7 16:37:08

本帖最后由 ckblt 于 2022-2-7 16:38 编辑

如果你要改double,
你得把scanf("%f", &height);改成scanf("%lf", &height);
scanf("%f", &weight);改成scanf("%lf", &weight);

ckblt 发表于 2022-2-7 16:38:06

ckblt 发表于 2022-2-7 16:37
如果你要改double,
你得把scanf("%f", &height);改成scanf("%d", &height);
scanf("%f", &weight);改成s ...

错了是%lf

投入就放过 发表于 2022-2-7 17:31:59

ckblt 发表于 2022-2-7 16:38
错了是%lf

懂了懂了感谢!

ckblt 发表于 2022-2-7 17:35:47

投入就放过 发表于 2022-2-7 17:31
懂了懂了感谢!

嗯,如果回答满意的话,您要设置最佳答案哦

tomok 发表于 2022-2-8 08:25:10

来看看答案

页: [1]
查看完整版本: C语言第八课 动动手第二题