超简单问题啊!赚分了!

ar7043 2007-04-16 08:20:25
#include "iostream.h"
void main()
{
float temp=0;
float c;
int n=1;
float t;
while(c!=temp)
{
cout<<"please input number"<<endl;
cin>>c;
if(c<0.01||c>5.20||c==0)
{
cout<<"ERRor"<<endl;
break;
}
else if(0.01<c&&c<5.20)
{
while(c!=(int)(temp))
{
* temp=temp+1/(n+1);
* t=1/(n+1);
* n++;
}
}
}
cout<<n;
}
t=1/(n+1)为什么总是零啊。怎么才能让除下来不是零啊?
...全文
226 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lidongri 2007-04-17
问题多多
回复
wltg2001 2007-04-17
看一下你的代码,发现很多不理解的地方
#include "iostream.h"
void main()
{
float temp=0;
float c;
int n=1;
float t;
while(c!=temp) //c没有初始化,能用吗?
{
cout<<"please input number"<<endl;
cin>>c;
if(c<0.01||c>5.20||c==0)
{
cout<<"ERRor"<<endl;
break;
}
else if(0.01<c&&c<5.20)
{
while(c!=(int)(temp)) c是float型的,temp也是float型的,干吗要把它转成int呢?
{
*temp=temp+1/(n+1);
*t=1/(n+1);
*n++; 这个循环一定能出去吗?1/(n+1)是int型的,它的值始终比1小,舍出后永远是0
}
}
}
cout<<n;
}
回复
dmt9697 2007-04-17
#include "iostream.h"
void main()
{
float temp=0;
float c;
int n=1;
float t;
while(c!=temp)
{
cout<<"please input number"<<endl;
cin>>c;
if(c<0.01||c>5.20)
{
cout<<"ERRor"<<endl;
break;
}
else if(0.01<=c&&c<=5.20)
{
while((int)c!=(int)(temp))
{
temp=temp+float(1) /float(n+1);
(int)n++;
}
}
}
cout<<n;
}
回复
egghitler 2007-04-16
t=1.0/(n+1)就可以了。。
回复
不想低调 2007-04-16
1\(n+1)
1、n+1都是整形,所以1\n也是整形。。
回复
freshui 2007-04-16
float t
t=float(1) /float(n+1)
回复
相关推荐
发帖
新手乐园
创建于2007-09-28

3.3w+

社区成员

C/C++ 新手乐园
申请成为版主
帖子事件
创建了帖子
2007-04-16 08:20
社区公告
暂无公告