| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1418 人关注过本帖
标题:为什么结果为0???太奇怪了改了很多遍还是0
只看楼主 加入收藏
hahahahaha在
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-11-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
为什么结果为0???太奇怪了改了很多遍还是0
#include <stdio.h>
int main()
{
    char sex;
    char sports;
    char diet;
    float myheight;
    float faheight;
    float moheight;
    printf("你是男孩(b)还是女孩(g)?");
    scanf("%ls",&sex);
    printf("平常是否喜欢运动(y/n)?");
    scanf("%ls",&sports);
    printf("是否有良好的饮食习惯(y/n)?");
    scanf("%ls",&diet);
    printf("输入你妈妈的身高:");
    scanf("%f",&moheight);   
    printf("输入你爸爸的身高:");
    scanf("%f",&faheight);
    if(sex=='b'||sex=='B');
    {
        myheight=((faheight+moheight)*0.54);
     }
     if(sex=='g'||sex=='G');
     {
         myheight=((faheight*0.923+moheight)/2);
     }
     if(diet=='y'||diet=='Y');
     {
         myheight=myheight*(1+0.015);
      }
      if(sports=='y'||sports=='Y');
      {
          myheight=myheight*(1+0.02);
      }
    printf("Your future height will be %.2f(cm)\n",myheight);
    return 0;
 }
搜索更多相关主题的帖子: char || float scanf printf 
2020-11-14 16:51
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:20 
回复 楼主 hahahahaha在
程序代码:
#include <stdio.h>
int main()
{
    char sex;
    char sports;
    char diet;
    float myheight;
    float faheight;
    float moheight;
    printf("你是男孩(b)还是女孩(g)?");
    scanf("%c", &sex);                   // 输入字符用 %c,不用%s,更无须使用 long
    getchar();                           // 吸收输入确认的回车键
    printf("平常是否喜欢运动(y/n)?");
    scanf("%c", &sports);                // 输入字符用 %c,不用%s,更无须使用 long
    getchar();                           // 吸收输入确认的回车键
    printf("是否有良好的饮食习惯(y/n)?");
    scanf("%c", &diet);                  // 输入字符用 %c,不用%s,更无须使用 long
    getchar();                           // 吸收输入确认的回车键
    printf("输入你妈妈的身高:");
    scanf("%f", &moheight);
    printf("输入你爸爸的身高:");
    scanf("%f", &faheight);
    if (sex == 'b' || sex == 'B')        // 多了一个分号
    {
        myheight = ((faheight + moheight) * 0.54);
    }
    else if (sex == 'g' || sex == 'G')   // 性别是二选一的,需加 else, 多了一个分号
    {
        myheight = ((faheight * 0.923 + moheight) / 2);
    }
    if (diet == 'y' || diet == 'Y')      // 多了一个分号
    {
        myheight = myheight * (1 + 0.015);
    }
    if (sports == 'y' || sports == 'Y')  // 多了一个分号
    {
        myheight = myheight * (1 + 0.02);
    }
    printf("Your future height will be %.2f(cm)\n", myheight);
    return 0;
}
2020-11-14 18:22
王牌疯姐姐
Rank: 1
来 自:湖南
等 级:新手上路
威 望:2
帖 子:8
专家分:0
注 册:2021-7-17
收藏
得分:0 
我运行可以啊

唱反调是我的本性,出其不意是我的个性。
2021-07-21 18:00
hellobird
Rank: 2
等 级:论坛游民
威 望:3
帖 子:14
专家分:47
注 册:2017-4-17
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册
2021-07-23 23:16
hellobird
Rank: 2
等 级:论坛游民
威 望:3
帖 子:14
专家分:47
注 册:2017-4-17
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>

void eat_line(void);
int input_height(const char *prompt, float *height);
bool yes_or_no(const char *prompt, const char *str);

int main(void)
{

  float father_height = 0.0;
  float mother_height = 0.0;
  float my_height     = 0.0;

  input_height("输入你爸爸的身高:", &father_height);
  input_height("输入你妈妈的身高:", &mother_height);
  
  eat_line();
  if(yes_or_no("你是男孩(b)还是女孩(g)?", "Bb")) { //默认男孩
    my_height = (father_height + mother_height) * 0.54;
  } else {
    my_height = (father_height * 0.923 + mother_height) / 2.0;
  }

  eat_line();
  if (yes_or_no("是否有良好的饮食习惯(y/n)?", "Yy")) {
    my_height *= (1 + 0.015);
  }

  eat_line();
  if (yes_or_no("平常是否喜欢运动(y/n)?", "Yy")) {
    my_height *= (1 + 0.02);
  }

  printf("\nYour future height will be %.2f(m)\n",my_height);

  return 0;
}

/**********************
清除缓冲区无效的字符
***********************/
void eat_line(void)
{
  int ch;

  while ((ch = getchar()) != EOF && ch != '\n' )
    ; 
}

/*********************
根据提示符输入身高
0表示输入失改
1表示成功
**********************/
int input_height(const char *prompt, float *height)
{
  printf("%s", prompt);
  fflush(stdout);
  return scanf("%f", height) == 1;
}


/*********************
范围选择
**********************/
bool yes_or_no(const char *prompt, const char *str)
{
  int ch;
  printf("%s", prompt);
  fflush(stdout);
  ch = getchar();
  return strchr(str, ch) != NULL;
}
2021-07-23 23:18
ws55ai66
Rank: 1
等 级:新手上路
威 望:2
帖 子:5
专家分:0
注 册:2021-8-1
收藏
得分:0 

/*判断男女 判断运动  判断习惯 */

#include <stdion.h>
#include <sdtlib.h>
int main()
{
    char sex;
    char sports;
    char diet;
    float myheight;
    float faheight;
    float moheight;
    printf("你是男孩(b)还是女孩(g)?");    //最好再来个判断输入的字符是否为b || g ,否则提示重新输入!
    scanf("%c",&sex);
    getchar();
    printf("平常是否喜欢运动(y/n)?");   // 同理判断输入是否为y,Y.,...提示重新输入!  下面的也一样!
    scanf("%c",&sports);
    getchar();
    printf("是否有良好的饮食习惯(y/n)?");
    scanf("%c",&diet);
    getchar();
    printf("输入你妈妈的身高:");
    scanf("%f",&moheight);   
    printf("输入你爸爸的身高:");
    scanf("%f",&faheight);

   if (sex == 'b'||sex == 'B')
       { if (sports == 'y'|| sports == 'Y')
           {    if(diet == 'y'|| diet == 'Y')
                printf( "our future height will be = %.2f\n",myheight * (1 + 0.015));
                else
                printf( "our future height will be = %.2f\n",这个公式自己定!每个人都不一样));
            }
      
      else
          {    if(diet == 'y'|| diet == 'Y')
               printf( "our future height will be = %.2f\n",这个公式自己定!每个人都不一样));
               else
               printf( "our future height will be = %.2f\n",这个公式自己定!每个人都不一样));
           }
         
      }   
 else
    {
      性别为女。。。。。代码!!

    }

  ruturn 0;
}



2021-08-01 23:06
快速回复:为什么结果为0???太奇怪了改了很多遍还是0
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029983 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved