鱼C论坛

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

[已解决]新生小白的求助

[复制链接]
发表于 2019-10-14 10:39:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
输入格式:
输入在一行中给出某用户的月用电量(单位:千瓦时)。
输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。
输入样例1:
10
输出样例1:
cost = 5.30
输入样例2:
100
输出样例2:
cost = 55.50   //这是题目
#include<stdio.h>  //这是我的代码,在PTA上还错了一个调试点。是小于0的调试点。求助。
int main(void)
{
        int e;
        float money;
        scanf("%d",&e);
        if (e>50)
        {
                money=26.5+(e-50)*0.58;
        }
        else if (e>=0)
        {
                money=0.53*e;
        }
         else  
     {
         printf("Invalid Value!");
     }
       
        printf("cost = %.2f",money);
        return 0;                           
}
最佳答案
2019-10-14 10:44:37
      楼主,下面的代码难道不能解决你的问题吗?怎么还在发帖求助呀?
#include<stdio.h>
int main(void)
{
        int e                                                      ;
        float money                                                ;
        scanf("%d" , & e)                                          ;
        if(e >= 0) {
                money = (e > 50) ? 0.58 * e - 0.05 * 50 : 0.53 * e ;
                printf("cost = %.2f\n" , money)                    ;
        } else {
                printf("Invalid Value!\n")                         ;
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-14 10:44:37 | 显示全部楼层    本楼为最佳答案   
      楼主,下面的代码难道不能解决你的问题吗?怎么还在发帖求助呀?
#include<stdio.h>
int main(void)
{
        int e                                                      ;
        float money                                                ;
        scanf("%d" , & e)                                          ;
        if(e >= 0) {
                money = (e > 50) ? 0.58 * e - 0.05 * 50 : 0.53 * e ;
                printf("cost = %.2f\n" , money)                    ;
        } else {
                printf("Invalid Value!\n")                         ;
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-14 10:54:01 | 显示全部楼层
我想看一下我错哪啦,不过也很感激你~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-14 11:13:11 | 显示全部楼层
jackz007 发表于 2019-10-14 10:44
楼主,下面的代码难道不能解决你的问题吗?怎么还在发帖求助呀?

请问你那个代码,问号那里是个判断吗?
它的具体用法是咋样的,
是if() {? :}吗
我没有见过这样子的代码 但是在一次考试中见到了,
求指点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-14 11:24:36 | 显示全部楼层
fabvy12 发表于 2019-10-14 10:54
我想看一下我错哪啦,不过也很感激你~


        你的代码基本也对,问题的关键是没有把 e 值的有效性与输出信息统一起来。导致在 e 值无效的情况下,还在输出 cost 信息。
        按你的写法,如果把显示 cost 信息的语句搬到计算 money 的两个语句之后,像这样:
        if (e > 50){
                money = 26.5 + (e - 50) * 0.58 ;
                printf("cost = %.2f",money)    ;
        } else if (e >= 0) {
                money = 0.53 * e               ;
                printf("cost = %.2f",money)    ;
        } else {
               printf("Invalid Value!")        ;
        }

      也应该是没有问题的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-14 11:28:18 | 显示全部楼层
jackz007 发表于 2019-10-14 11:24
你的代码基本也对,问题的关键是没有把 e 值的有效性与输出信息统一起来。导致在 e 值无效的情 ...

嗯没错,我刚刚也是这样改了,不过还是你那种好,这个好像不符合单出口
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-14 11:31:01 | 显示全部楼层
fabvy12 发表于 2019-10-14 11:13
请问你那个代码,问号那里是个判断吗?
它的具体用法是咋样的,
是if() {? :}吗

      这是 C 语言里的三目运算符:
      a = (x > y)? x : y ;
      这个表达式的执行结果将把 x ,y 两个变量中,数值较大那个的值赋值给变量 a,它的逻辑基本上就是:
      if (x > y) a = x    ;
      else a = y           ;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-14 11:49:21 | 显示全部楼层
jackz007 发表于 2019-10-14 11:31
这是 C 语言里的三目运算符:
      a = (x > y)? x : y ;
      这个表达式的执行结果将把 x  ...

呃呃,看不懂。笑哭笑哭
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 16:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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