wmw暗 发表于 2017-9-26 23:18:37

为什么运行后我输入三个数p,w,s后计算不出结果的

#include<stdio.h>
void main()
{
        int c,s;
        float p,w,d,f;
        printf("请输入:");
        scanf("%f,%f,%d",&p,&w,&s);
        if (s>=3000)
        {
                c=12;
        }
        else
        {
                c=s/250;
        }
        switch(c)
        {
                case 0:
                        d=0;
                        break;
                case 1:
                        d=2;
                        break;
                case 2:
                case 3:
                        d=5;
                        break;
                case 4:
                case 5:
                case 6:
                case 7:
                        d=8;
                        break;
                case 8:
                case 9:
                case 10:
                case 11:
                        d=10;
                        break;
                case 12:
                        d=15;
                        break;      
        }
        f=p*w*s*(1-d/100.0);
        printf("freight=%15.4f\n",f);
}

weizhongyang 发表于 2017-9-27 09:07:56

执行程序时的过程和结果帖出来看下!

weizhongyang 发表于 2017-9-27 09:16:42

scanf("%f,%f,%d",&p,&w,&s);
注意上面的你的格式‘,’
输入的时候需要根据上面的格式化输入。


如下是根据你的程序执行的,结果如:

wmw暗 发表于 2017-9-27 16:33:41

weizhongyang 发表于 2017-9-27 09:16
scanf("%f,%f,%d",&p,&w,&s);
注意上面的你的格式‘,’
输入的时候需要根据上面的格式化输入。


谢谢,我没注意看这里{:5_91:}

wmw暗 发表于 2017-9-27 22:04:22

weizhongyang 发表于 2017-9-27 09:16
scanf("%f,%f,%d",&p,&w,&s);
注意上面的你的格式‘,’
输入的时候需要根据上面的格式化输入。


最后面的“printf("freight=%15.4f\n",f);中的%15.4f\n是什么意思

weizhongyang 发表于 2017-9-28 09:05:04

wmw暗 发表于 2017-9-27 22:04
最后面的“printf("freight=%15.4f\n",f);中的%15.4f\n是什么意思

保留输出小数点前15位和小数点后4位的数据

wmw暗 发表于 2017-9-28 21:20:28

weizhongyang 发表于 2017-9-28 09:05
保留输出小数点前15位和小数点后4位的数据

谢谢
页: [1]
查看完整版本: 为什么运行后我输入三个数p,w,s后计算不出结果的