当前位置: 代码迷 >> C语言 >> [求助]这题编辑成功,但是执行不了
  详细解决方案

[求助]这题编辑成功,但是执行不了

热度:139   发布时间:2006-07-22 00:11:12.0
[求助]这题编辑成功,但是执行不了
#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();
}

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编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案