为了账号安全,请及时绑定邮箱和手机立即绑定

为什么结果是24?不是69.4?哪里错了

#include <stdio.h>

#define p 2.3

#define S 13

int main()

{

    int n=12;

    float w;

    printf("请输入公里数",n);

scanf("n=%d",&n); 

    if(n>3)

    {

 w=(n-3)*p+S+1;

}

     else

   {

  w=S+1;

}

     printf("w=%f\n",2*w);

return 0;

}


正在回答

5 回答

如果你不算时间,又想从键盘输入的话,改成这样也行

 #include <stdio.h>

#define p 2.3

#define S 13

int main()

{

    int n;

    float w;

    printf("请输入公里数:\n");

    scanf("%d",&n);
    if(n>3)

    {

 w=(n-3)*p+S+1;

}

     else

   {

  w=S+1;

}

     printf("w=%.2f\n",2*w);

return 0;

}


0 回复 有任何疑惑可以回复我~
#1

冰阳星 提问者

非常感谢!
2016-03-31 回复 有任何疑惑可以回复我~
#include <stdio.h>

int main()
{
    float jijia=2.3;
    int qbj=13;
    double fyjs,gls,lhfy;
    printf("输入公里数:");
    scanf("%lf",&gls);
    if (gls<=3&&gls>0)
        printf("单次费用为%d",qbj);
    else{
        fyjs=(gls-3)*jijia+qbj+1;
        printf("单次费用为%.1f\n",fyjs);
        lhfy=((gls-3)*jijia+qbj+1)*2;
        printf("单次费用为%.1f\n",lhfy);
        }
    return 0;
}

蛋疼法。

0 回复 有任何疑惑可以回复我~

不对,你这代码有问题,printf里面都没有%d,逗号后面来个n没用啊,n都已经赋值了12,为什么后面又加了个scanf?

0 回复 有任何疑惑可以回复我~

你的代码运行之后,输入12,的确等于69.4,当然了,你选择的是输出%f,最好改成%.2f,这样不会出现最后值不精确的情况。另外就是时间的因素你没有写进去,虽然题里面的确不用考虑时间,9点和18点都不在价钱范围内,但理应写出来,更何况你还想从键盘输入值

0 回复 有任何疑惑可以回复我~

你在哪编译的啊,还有你的printf和scanf都好奇怪啊,你scanf是想用键盘从外面输入值嘛?

0 回复 有任何疑惑可以回复我~
#1

冰阳星 提问者

是啊!可是结果不对?
2016-03-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么结果是24?不是69.4?哪里错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信