从双变量中获得奇数结果(C)

埃里亚斯·菲诺利(Elias Finoli)

因此,我有这段代码,该代码用于计算总价,然后给他们打折,最后向他们展示带或不带折扣的总价。但是由于某种原因,我从计算中得出的结果确实很奇怪。

#include <stdio.h>

int main()
{
double discountPercentage=0.0;
double numbUnits=0.0, perUnitPrice=0.0, priceWDiscount=0.0;
printf("Input # of units purchased:");
scanf("%lf", &numbUnits);

printf("Input pricer per unit:");
scanf("%lf", &perUnitPrice);

if (numbUnits*perUnitPrice >= 1000.0 && numbUnits*perUnitPrice <= 2000.0)
{
    discountPercentage = 0.10;
}
else if (numbUnits*perUnitPrice >= 2000.0 && numbUnits*perUnitPrice <= 3000.0)
{
    discountPercentage = 0.15;
}
else if (numbUnits*perUnitPrice >= 3000.0)
{
    discountPercentage = 0.20;
}
else 
{
    discountPercentage = 0.0;
}

priceWDiscount = (numbUnits*perUnitPrice) - (numbUnits*perUnitPrice*discountPercentage);
double price = numbUnits*perUnitPrice;

printf("Without discount your price would be %d.\nIncluding discount (%d) your price is %d"), price, discountPercentage, priceWDiscount;

return 0;
}

输出:

Input # of units purchased:50
Input pricer per unit:50
Without discount your price would be 266310.
Including discount (266310) your price is 2126139392

那我在做什么错?我曾尝试搜索论坛,但找不到任何可以解决我的问题的东西。任何帮助表示赞赏。另外,很抱歉,如果这是一个非常明显的问题,但对我而言,不是...

萨玛达玛鲁

您正在以双精度计算内容,但仅以整数精度打印它。

在您的对printf帐单中,将所有更改%d%lf

您也用括号将太早关闭了printf语句。您需要将其移到半冒号之前的末尾,以便printf实际知道应该打印什么变量。

因此,总的来说,您需要更改以下内容:

printf("Without discount your price would be %d.\nIncluding discount (%d) your price is %d"), price, discountPercentage, priceWDiscount;

对此:

printf("Without discount your price would be %lf.\nIncluding discount (%lf) your price is %lf", price, discountPercentage, priceWDiscount);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java中具有双精度的奇数结果

来自分类Dev

保存在变量中并乘以双值查询结果C#/ MySql

来自分类Dev

在MySQL中使用双JOIN在GROUP_CONCAT中获得双结果

来自分类Dev

将类型转换为双精度整数以从类型转换的整数除法中获得双精度结果

来自分类Dev

无法获得SQL查询以将结果存储到变量中

来自分类Dev

定义全局变量,在main中获得不同的结果

来自分类Dev

Python中双递归的结果

来自分类Dev

Python中双递归的结果

来自分类Dev

输出与c中的代码不匹配(双变量)

来自分类Dev

C ++中变量前的双破折号

来自分类Dev

使用C中的宏处理双变量switch语句

来自分类Dev

在C中读取单精度使用双精度变量

来自分类Dev

Java中的双实例变量

来自分类Dev

bash中的双变量替换

来自分类Dev

Scanf / Printf双变量C

来自分类Dev

jQuery / Ajax请求中结果的奇数加倍

来自分类Dev

C语言程序显示错误结果,奇数

来自分类Dev

c#中的webclient无法获得正确的结果html

来自分类Dev

如何在c#中获得curl结果

来自分类Dev

C中的双链表

来自分类Dev

将A和B列配对,在C中获得匹配结果,在D中获得差异

来自分类Dev

配对A和B列,在C中获得匹配结果,在D中获得差异

来自分类Dev

gulp:如何获得gulp结果作为变量

来自分类Dev

如何在单独的自动化变量中获得这些结果?

来自分类Dev

通过包含PHP变量在嵌入视频时在HTML文件中获得意外结果

来自分类Dev

根据变量的值从同一查询中获得不同的结果

来自分类Dev

在TSQL中获得结果排名

来自分类Dev

从表中获得正确的结果

来自分类Dev

从Firebase字典中获得结果?