瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 【求助】关于整型乘以0.9的问题
过客2007 - 2007-6-4 12:23:00

main()
{
  int w,x;/* w是表示重量,x表示总金额.*/
  scanf("%d",&w);
  if(w>=5)/*重量大于5kg,九折优惠*/

  x=w*1.5*0.9;/*单价是:1.5元*/

  else

  x=w*1.5;

  printf("x=%d",x);/*输出金额*/


}


这里有些算法是正确的有些不是正确的,请问,该怎么弄好?
风的唏嘘 - 2007-6-4 14:13:00
【回复“过客2007”的帖子】把x的变量类型定义为float型,把printf("x=%d",x);改为printf("x=%f",x);就可以了
风的唏嘘 - 2007-6-4 14:56:00
【回复“过客2007”的帖子】其实你这个程序也没错,因为表达式的计算结果是双精度型的,赋给整型变量x时系统会自动进行数据转换,跟用强制类型转换的效果是一样的,只不过数据精度不高而已
过客2007 - 2007-6-4 22:35:00
再次谢谢啦。
1
查看完整版本: 【求助】关于整型乘以0.9的问题