标题:我错哪儿啦?
只看楼主
hbccc
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:108
专家分:315
注 册:2020-2-18
结帖率:83.33%
已结贴  问题点数:20 回复次数:2 
我错哪儿啦?
刚做了一个习题,厘米和英寸换算,编译都对,就是运行结果不对,请哪位大神指教一下哈。
# include <stdio.h>

# define INTCM 2.54 //1英寸=2.54厘米
# define XING 50

double itc(double);
double cti(double);

int main(void)
{
    int i=0;
    int n;
    double cms;
    double inchs,result;
   
    printf("START:\n\n\n\n\n");
   
    for(i=0;i<XING;i++)
        printf("*");
        printf("\n\n");
    printf("请输入序号:\n\n");
    printf("1、厘米转英寸             2、英寸转厘米\n\n");
    for(i=0;i<XING;i++)
        printf("*");
        printf("\n\n");
        printf("请输入您的选择(1或2):");
    scanf("%d",&n);
        printf("您输入的是:%d\n",n);
   
    if (n==1)
       {printf("请输入厘米数:");
       scanf("%f",&cms);
       result=cti(cms);
       printf("%5.2f厘米=%5.2f英寸",cms,result); }
    else   
    if(n==2)
    {printf("请输入英寸数:");
     scanf("%f",&inchs);
     result=itc(inchs);
     printf("%1.2f英寸=%1.2f厘米",inchs,result);
    }
    else
    printf("请输入“1”或“2”!");
        
    printf("\n\n\n\n\nTHE END");
   
    return 0;
}


double itc(double inch)
{

    double cm;
    cm=inch*INTCM;
    return cm;
}

double cti(double cm)
{
    double inch;
    inch=cm/INTCM;
    return inch;
}

运行过后算不出结果,可能是输入的参数没传到函数里,哪位大神指教一二,谢谢哈。
搜索更多相关主题的帖子: double printf 输入 result cms 
2020-02-18 17:11
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:20 
scanf("%lf",&cms);
scanf("%lf",&inchs);

输入你用的是%f,这是float类型,而cms和inchs是double类型,所以应该使用%lf进行输入。
float和double类型在内存占用的字节数不同。

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-02-18 17:53
hbccc
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:108
专家分:315
注 册:2020-2-18
得分:0 
回复 2楼 纯蓝之刃
大神果然高见,我想破了脑袋都没想出来,谢谢。
2020-02-18 18:15



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




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

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