标题:新手,老提示else without a previous if 的错误,求大神指点
只看楼主
我zy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-5-18
结帖率:100%
已结贴  问题点数:20 回复次数:5 
新手,老提示else without a previous if 的错误,求大神指点
#include <stdio.h>
int main()
{
    int g;
    scanf("%d",&g);
    float f,m,t,r;
    printf("boy=1,girl=2");
    printf("father:");
    scanf("%f",&f);
    printf("mother:");
    scanf("%f",&m);
    if (g==1)
        t=(f+m)*1.08/2;
    else if (g==2)
        t=(f*0.923+m)/2;
        printf("%.0f\n",t);
    else  
        printf("gender error\n");
    printf(":\n");
    scanf("%f",&r);
    if ((t-r)<=3&&(t-r)>=-3)
    {
        printf("coincident\n");
    }
    else
            printf("incoincident\n");
    }
搜索更多相关主题的帖子: mother father include without previous 
2017-05-18 23:29
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:15 
程序代码:
    if (g==1)
        t=(f+m)*1.08/2;
    else if (g==2)//这里少了花括号,导致下面的else悬挂
        t=(f*0.923+m)/2;
        printf("%.0f\n",t); 
    else  
        printf("gender error\n");

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-18 23:29
我zy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-5-18
得分:0 
回复 2楼 renkejun1942
嗯嗯,万分感谢
2017-05-18 23:33
我zy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-5-18
得分:0 
#include <stdio.h>
int main()
{
    int g;
    scanf("%d",&g);
    float f,m,t,r;
    printf("select gender:boy=1,girl=2\n");
    printf("father:");
    scanf("%f",&f);
    printf("mother:");
    scanf("%f",&m);
    if (g==1)
    {
        t=(f+m)*1.08/2;
        printf("%.0f\n",t);
    }
    else if (g==2)
    {
        t=(f*0.923+m)/2;
        printf("%.0f\n",t);
    }
    else  
        printf("gender error\n");
    printf("your real height:\n");
    scanf("%f",&r);
    if ((t-r)<=3&&(t-r)>=-3)
    {
        printf("coincident\n");
    }
    else
            printf("incoincident\n");
    }
好吧,刚刚还有其他的错误,现在改好了,渴望有大佬提点
2017-05-18 23:43
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:5 
#include <stdio.h>
int main()
{
    int g;
    scanf("%d",&g);
    float f,m,t,r;
    printf("boy=1,girl=2");
    printf("father:");
    scanf("%f",&f);
    printf("mother:");
    scanf("%f",&m);
    if (g==1)
        t=(f+m)*1.08/2;
    else if (g==2)
        {                               //这里是两句话要加括号
         t=(f*0.923+m)/2;
        printf("%.0f\n",t);
        }

    else
        printf("gender error\n");       //不加括号只执行一句话,所以下面这个换行不是else语句里面的
    printf(":\n");
    scanf("%f",&r);
    if ((t-r)<=3&&(t-r)>=-3)
        printf("coincident\n");             //这种下面只有一句话不要括号就可以了
    else
            printf("incoincident\n");
    }
2017-05-19 02:26
我zy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-5-18
得分:0 
回复 5楼 Emotiona
嗯,谢谢
2017-05-20 21:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477125-1-1.html




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

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