|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#define fanqie 3.7/2
#define jielan 7/2
#define xiqin 1.3/2
#define kongxincai 8/2
#define yangcong 2.4/2
#define youcai 9/2
#define huanggua 6.3/2
#define bailuobo 0.5/2
int main()
{
printf("小明需要支付%.2f元\n",2*fanqie+kongxincai+youcai);
printf("小红需要支付%.2f元\n",3*xiqin+0.5*yangcong+5*huanggua);
printf("小甲鱼需要支付%.2f元\n",10*huanggua+20*bailuobo);
return 0;
}
以上是我写的程序答案,该程序求出小明需支付11.70元。为什么求出来小明的钱数是错误的,但是小红和小甲鱼的钱数是正确的,求各路大神帮忙看一看我的程序错误出在了哪里?
本帖最后由 zltzlt 于 2020-8-3 17:23 编辑
因为 C 语言中整数除以整数得到的结果是整数,而浮点数除以整数得到的结果是浮点数。这样即可:
- #include <stdio.h>
- #define fanqie 3.7 / 2
- #define jielan 7.0 / 2 // 修改
- #define xiqin 1.3 / 2
- #define kongxincai 8 / 2
- #define yangcong 2.4 / 2
- #define youcai 9.0 / 2 // 修改
- #define huanggua 6.3 / 2
- #define bailuobo 0.5 / 2
- int main()
- {
- printf("小明需要支付%.2f元\n", 2 * fanqie + kongxincai + youcai);
- printf("小红需要支付%.2f元\n", 3 * xiqin + 0.5 * yangcong + 5 * huanggua);
- printf("小甲鱼需要支付%.2f元\n", 10 * huanggua + 20 * bailuobo);
- return 0;
- }
复制代码
|
|