我正在编程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 = 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。我该如何解决这个问题?
答案 0 :(得分:2)
您正试图通过将字符与浮点数相乘来计算折扣:
double discount_total = teach_music * .12;
在此之前,您确保teach_music
是'y'或'Y'。我好奇如何汇编,以及C如何得出“y”或“Y”为121的结论。
编辑:哈尔,'Y'是ASCII 121.所以乘以.12得到14.52
无论如何,我认为
double discount_total = total_b4_tax * .12;
让一切变得更好。