鱼C论坛

 找回密码
 立即注册
查看: 3345|回复: 7

我不知道这个程序有什么问题???????????

[复制链接]
发表于 2012-3-1 20:55:36 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
void main()
{
         double p,w,s,f;
         printf("请依此输入基本运费,物重,路程:");
         scanf("%lf%lf%lf",&p,&w,&s);
         if(s<250)
         {
                 f=p*w*s;
         }
         else
         {
                 if(s=250 && 250<s<500)
                 {
                         f=p*w*s*(1-0.02);
                 }
                 else
                 {
                         if(s=500 && 500<s<1000)
                         {
                                 f=p*w*s*(1-0.05);
                         }
                         else
                         {
                                 if(s=1000 && 1000<s<2000)
                                 {
                                         f=p*w*s*(1-0.08);
                                 }
                                 else
                                 {
                                         if(s=2000 && 2000<s<3000)
                                         {
                                                 f=p*w*s*(1-0.1);
                                         }
                                         else
                                         {
                                                 if(s=3000 && s>3000)
                                                 {
                                                         f=p*w*s*(1-0.15);
                                                 }
                                         }
                                 }
                         }
                 }
         }
         printf("%lf\n",&f);
}

最佳答案

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-3-1 20:55:37 | 显示全部楼层
  1. #include <stdio.h>

  2. void main()
  3. {
  4.         double p, w, s, f=0;
  5.         printf("基本运费: ");
  6.         scanf("%lf", &p);  //你要人输入你得写输入函数啊...
  7.        
  8.         printf("物重: ");
  9.         scanf("%lf", &w);
  10.        
  11.         printf("路程: ");
  12.         scanf("%lf", &s);
  13.        
  14.         if(s < 250)                        //if else不用钱啊,省着点花,或者用?:这个判断
  15.         {
  16.                 f = p * w * s;
  17.         }
  18.         else if(s >= 250 && s < 500)//大于等于不是那么写的(大于等于<=,小于等于>=,等于==)
  19.         {
  20.                 f = p * w * s *(1-0.02);
  21.         }
  22.         else if(s >= 500 && s < 1000)
  23.         {
  24.                 f = p * w * s * (1-0.05);
  25.         }
  26.         else if(s >= 1000 && s < 2000)
  27.         {
  28.                 f = p * w * s * (1-0.08);
  29.         }
  30.         else if(s >= 2000 && s < 3000)
  31.         {
  32.                 f = p * w * s * (1-0.1);
  33.         }
  34.         else if(s >= 3000)
  35.         {
  36.                 f = p * w * s *(1-0.15);
  37.         }
  38.         printf("总额为: %lf\n", f);                //这里不要用&取址符
  39. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-3 00:05:12 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-3-6 21:11:20 | 显示全部楼层

#include <stdio.h>
void main()
{
         double p,w,s,f;
         printf("请依此输入基本运费,物重,路程:");
         scanf("%lf%lf%lf",&p,&w,&s);
         if(s < 250)
         {
                 f=p*w*s;
         }
         else
         {
                 if(s >= 250 && s <= 500)
                 {
                         f=p*w*s*(1-0.02);
                 }
                 else
                 {
                         if(s >= 500 && s <= 1000)
                         {
                                 f=p*w*s*(1-0.05);
                         }
                         else
                         {
                                 if(s >=1000 && s <= 2000)
                                 {
                                         f=p*w*s*(1-0.08);
                                 }
                                 else
                                 {
                                         if(s >=2000 && s <= 3000)
                                         {
                                                 f=p*w*s*(1-0.1);
                                         }
                                         else
                                         {
                                                 if(s >= 3000)
                                                 {
                                                         f=p*w*s*(1-0.15);
                                                 }
                                         }
                                 }
                         }
                 }
         }
         printf("%lf\n",f);
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-3-6 21:13:00 | 显示全部楼层
要遵守c语言的方式而不是直接数学计算
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-3-7 10:44:45 | 显示全部楼层
(s=250 && 250<s<500)这里错了,应该是(s>=250&&s<500)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-3-18 10:21:40 | 显示全部楼层
#include <stdio.h>
int main()
{
        double p,w,s,f;//定义变量
    int t;
    printf("请以此输入基本运费,物重,路程\n");
    scanf("%lf,%lf,%lf",&p,&w,&s);
        //判断s是否大于3000,若大于则令t=12否则t=s/250
        if (s>=3000)
    t=12;
    else
    t=s/250;
    //用switch语句判断不同路程所需的运费
    switch (t)
    {
                case 0:printf("f=%f\n",f=p*w*s);break;
        case 1:printf("f=%f\n",f=p*w*s*(1-0.02));break;
        case 2:
        case 3:printf("f=%f\n",f=p*w*s*(1-0.05));break;
        case 4:
        case 5:
        case 6:
        case 7:printf("%f\n",f=p*w*s*(1-0.08));break;
        case 8:
        case 9:
        case 10:
        case 11:printf("f=%f\n",f=p*w*s*(1-0.1));break;
        case 12:printf("f=%f\n",f=p*w*s*(1-0.15));break;
        default:printf("输入错误\n");
         }
        return 0;
}
这是用switch编的 凑合着看吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-9-8 23:23:28 | 显示全部楼层
很不错呀,多谢分享!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-13 20:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表