C语言习题帮帮忙!老是写不对。 输入身高(以cm为单位)和性别(用m表示男,用w表

2024-11-30 12:56:56
推荐回答(2个)
回答1:

 #include 

 int main()
 {
  int h;
  char sex;
  float mg, max, min;

  printf("请输入身高、性别:");
  scanf("%d %c",&h,&sex);

  switch(sex)
  {
        case 'm' : mg = 50 + (2.3 * (h-152))/2.54;  break;
        case 'w' : mg = 45.5 + (2.3 * (h-152))/2.54;  break;
        default : mg = -1;break;
  }

  min = mg * 0.9;
  max = mg * 1.1;

    printf("在%f~%f内为标准体重\n", min, max);

    return 0;
 }

在scanf("%d%c", &h, &sex);中%d和%c之间必须要分开,否则第二个数据无法输进去。

回答2:

语法错误是:befault : mg = -1;
应该是:default: mg = -1;

按你写的代码:scanf("%d%c", &h, &sex);
输入数据时:整数与字符之间不能有空格,否则变量sex会将空格读入作为内容