C语言初学者

[复制链接]
查看11 | 回复3 | 2010-2-11 18:55:53 | 显示全部楼层 |阅读模式
诶诶,,不是int a,b吗?怎么在输入的时候用%f?其实直接float a,b,s;就可以了1/2=0所以最好改成s=a*b/2
回复

使用道具 举报

千问 | 2010-2-11 18:55:53 | 显示全部楼层
s=(1/2)*a*b; 这句有问题整数相除结果只能是整数,所以1/2结果是0应该改成s=(1.0/2.0)*a*b;这样就可以了
回复

使用道具 举报

千问 | 2010-2-11 18:55:53 | 显示全部楼层
计算的时候不对就是s=(1/2)*a*b;因为等式右边为int型数据 而左边为float型数据所以应该改为 s=(a*b+0.0)/2;或者应强制转换将右边转换成float型
回复

使用道具 举报

千问 | 2010-2-11 18:55:53 | 显示全部楼层
1/2=0;应该为s=a*b/2;scanf("%f,%f",&a,&b);这句是错的,a/b都是int型,不是float型,所以应该为scanf("%d,%d",&a,&b);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行