invalid operands of types 'int' and 'double' to binary 'operator%'

将厘米换算成英尺英寸。这个报错是什么意思,是说这种类型的变量不能用%吗?那要怎么改

img

%后面得是整数,小数要怎么进行取余操作

【以下回答由 GPT 生成】

问题根本在于%运算符不能用于浮点数类型(如double),只能用于整数类型(如int)。根据你的代码,你可以使用浮点数来解决这个问题。下面是修改后的代码:

#include <stdio.h>

int main() {
  double height;
  printf("请输入身高(厘米):");
  scanf("%lf", &height);

  double foot = height / 30.48;
  double inch = (foot - (int)foot) * 12;

  printf("身高等于:%d英尺%.2f英寸", (int)foot, inch);

  return 0;
}

这样,通过将heightfoot的类型更改为double,你就可以使用浮点数进行计算。另外,计算英寸的公式也进行了修改,使用了差值(foot - (int)foot)乘以12来得到英寸部分。最后,通过%.2f格式化字符来保留2位小数,让结果更加准确。

以上就是修改后的代码,希望能帮到你。如果你还有其他问题,请随时提问!


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^