永发信息网

请教C++问题,分子分母不能全部定义为int型吗?

答案:2  悬赏:50  手机版
解决时间 2021-01-31 14:20
  • 提问者网友:太高姿态
  • 2021-01-31 00:44
程式如下
求1-1/2+1/3-1/4......+1/99-1/100
#include
void main()
{
float sum=1;
int a=1,i=2;
while(i<=100)
{
a=-a;
sum=sum+a/i;
i=i+1;
}
cout<}

可执行的结果始终等于1,
但是如果我把a或者i定义成float,执行的结果就是对的?
难道分子分母不能同时定义成int型吗??
谢谢了
最佳答案
  • 五星知识达人网友:duile
  • 2021-01-31 01:36
因为有这个式子sum=sum+a/i;
如果a,i都是int,则系统会使a/i的结果为int,但这样显然会使计算有误,所以在这题里不能让他们都为int,所以分子分母定义成什么类型要视具体题目而定
全部回答
  • 1楼网友:走死在岁月里
  • 2021-01-31 03:00

oo

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯