[求助]这题编辑成功,但是执行不了
#include<stdio.h> main()
{
int i;float t,sum=0;
for(i=1;i<=100;i++)
{if(i%2!=0) i=i;else i=-i;
t=1/i;
sum=sum+t;}
printf("%f",sum);
getch();
}
搜索更多相关的解决方案:
include
----------------解决方案--------------------------------------------------------
以下是引用kusha在2006-7-22 0:11:12的发言:
#include<stdio.h>
main()
{
int i;float t,sum=0;
for(i=1;i<=100;i++)
{if(i%2!=0) i=i;else i=-i; //这个有问题
t=1/i;
sum=sum+t;}
printf("%f",sum);
getch();
}
#include<stdio.h>
main()
{
int i;float t,sum=0;
for(i=1;i<=100;i++)
{if(i%2!=0) i=i;else i=-i; //这个有问题
t=1/i;
sum=sum+t;}
printf("%f",sum);
getch();
}
i=i; 这句有意思么?
i=-i; 这句和i<=100矛盾
----------------解决方案--------------------------------------------------------
你这里对I 是声明INT 的,因此每次你进行1/i的值都为0,要把i改为float 就可以了
----------------解决方案--------------------------------------------------------
循环体内改变循环变量 ,I 服了 YOU
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int i;
float t,sum=0;
for(i=1;i<=100;i++)
{
if(i%2==0)
i=-1*i;
t=1.0/i;
sum=sum+t;
}
printf("%f",sum);
getch();
}
----------------解决方案--------------------------------------------------------
楼上的程序好象有问题,i=-1*i;这样做你的i值就没有改变吗?当i=2时你的i值不是就成了i=-2了?
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int i;
float t,sum=0.0;
for(i=1;i<=2;i++)
{
if(i%2!=0)
{
t=1.0/i;
}
else
{
t=-1.0/i;
}
sum+=t;
}
printf("%f",sum);
getch();
}
----------------解决方案--------------------------------------------------------
没有连接浮点库
想关帖子去找精华贴吧
----------------解决方案--------------------------------------------------------
你的意图是???
1-1/2+1/3-1/4...
遇偶数符号变负,奇数则变正吗?
如果是的话,你尝试float sum=1.0 ,i=2.0;(i由2开始试试看)
而且你再定义一个int k=1来控制正负号吧~~~
那个if也可以不用了,简单了很多哦~~
现在你再自己想想,因为我不知道你的意图,如果我说得不对的话,也不要骂我哦
[此贴子已经被作者于2006-7-26 18:48:58编辑过]
----------------解决方案--------------------------------------------------------