【问题标题】:How to remove the extra zeros from the output?如何从输出中删除多余的零?
【发布时间】:2021-05-14 16:57:59
【问题描述】:

我正在尝试解决 CodeChef 的问题。问题陈述如下。

Pooja 想从 ATM 取款 X 美元。取款机只接受X为5的倍数,且Pooja账户余额有足够现金进行取款交易(包括银行手续费)的交易。对于每次成功提款,银行收取 0.50 美元的费用。尝试交易后计算 Pooja 的账户余额。

输入: 42 120.00

输出: 120.00

对于这个输入,我得到的输出是 120.000.00。

#include<stdio.h>
int main()
{
    int withdraw;
    float initial_balance, final_balance;
    scanf("%d %f", &withdraw, &initial_balance);
    if(withdraw % 5 == 0)
        {
            final_balance = initial_balance - withdraw - 0.50;
        }
    else
    {
        printf("%.2f", initial_balance);
    }
    printf("%.2f", final_balance);
    return 0;
}

【问题讨论】:

  • 通过删除行来打印这些额外的东西?请发帖Minimal, Reproducible Example
  • 您需要向我们展示您如何获得额外的零,以便我们能够告诉您如何避免它们。
  • 请添加您目前拥有的代码。否则几乎不可能找到问题。
  • 运行代码后,我在一行中给出了输入,我得到了输出

标签: c


【解决方案1】:

您正在通过printf("%.2f", initial_balance); 打印120.00,然后通过printf("%.2f", final_balance); 打印未初始化的不确定值。

您应该将答案设置为final_balance,而不是在if 语句中打印printf("%.2f", initial_balance);,如final_balance = initial_balance;

【讨论】:

    猜你喜欢
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2022-11-26
    • 2021-04-01
    • 2020-07-31
    • 2014-04-15
    • 2023-03-05
    相关资源
    最近更新 更多