C 为什么我的百分比计算是12折?
我现在在编程1。我正在创建一个程序,旨在显示教师对总购买金额的折扣(12%)的计算。当根据购买总额在屏幕上打印折扣金额时,我得出的总额不正确。代码如下:C 为什么我的百分比计算是12折?,c,C,我现在在编程1。我正在创建一个程序,旨在显示教师对总购买金额的折扣(12%)的计算。当根据购买总额在屏幕上打印折扣金额时,我得出的总额不正确。代码如下: double total_b4_tax; printf("\nEnter the purchase total : "); scanf("%lf", &total_b4_tax); getchar (); if (teach_music == 'y' || 'Y') { double discount_total = tea
double total_b4_tax;
printf("\nEnter the purchase total : ");
scanf("%lf", &total_b4_tax);
getchar ();
if (teach_music == 'y' || 'Y')
{
double discount_total = teach_music * .12;
printf("Total purchase $ %.2lf\n", total_b4_tax);
printf("Discount total $ %.2lf\n", discount_total);
}
我的总折扣是14.52,而实际上122.0*.12是14.64。我如何解决这个问题 您正试图通过将字符乘以浮点来计算折扣:
double discount_total = teach_music * .12;
在此之前,请确保teach_music
为“y”或“y”。我很好奇它是如何编译的,C是如何得出“y”或“y”是121的结论的
编辑:Harr,“Y”是ASCII 121。因此,将其与.12相乘得到14.52
不管怎样,我想
double discount_total = total_b4_tax * .12;
更好。请添加一个。您的代码不完整,因为它无法编译。这一行看起来也是错误的:
double-discount\u-total=teach\u-music*.12代码>你的意思是双倍折扣总额=总税*12代码>这如果(teach_music==“y”| |“y”)
在C语言中不是有效的一行(是的,但它并不像你想象的那样。)@RadLexus Darn,我错过了那一行。非常感谢!现在看来很明显!