用C语言求 1-1/2+1/3+....+1/99-1/100的结果,下面是我写的程序在sum=sum+term的地方出错 请指教
#include<stdio.h>floatmain(){intsign=1,deno=2;floatterm,sum=1;for(deno=2;deno<=100;de...
#include <stdio.h>
float main(){
int sign=1,deno=2;
float term,sum=1;
for(deno=2;deno<=100;deno++)
{
sign=sign*(-1);
term=sign*(1/deno)
sum=sum+term;
}
printf("result: %d",sign);
}
#include <stdio.h>
int main(){
int sign=1,deno=2;
float term,sum=1.0;
for(deno=2;deno<=100;deno++)
{
sign=sign*(-1);
term=sign*(1/deno);
sum=sum+term;
}
printf("result: %d",sum);
system("pause");
}
这是新的代码 为啥结果是0啊 展开
float main(){
int sign=1,deno=2;
float term,sum=1;
for(deno=2;deno<=100;deno++)
{
sign=sign*(-1);
term=sign*(1/deno)
sum=sum+term;
}
printf("result: %d",sign);
}
#include <stdio.h>
int main(){
int sign=1,deno=2;
float term,sum=1.0;
for(deno=2;deno<=100;deno++)
{
sign=sign*(-1);
term=sign*(1/deno);
sum=sum+term;
}
printf("result: %d",sum);
system("pause");
}
这是新的代码 为啥结果是0啊 展开
3个回答
2011-10-14
展开全部
#include <stdio.h>
float main(){
int sign=1,deno=2;
float term,sum=1;
for(deno=2;deno<=100;deno++)
{
sign=sign*(-1);
term=sign*(1.0/deno);
sum=sum+term;
}
printf("result: %f",sum);
}
现在正确,我调试过了
float main(){
int sign=1,deno=2;
float term,sum=1;
for(deno=2;deno<=100;deno++)
{
sign=sign*(-1);
term=sign*(1.0/deno);
sum=sum+term;
}
printf("result: %f",sum);
}
现在正确,我调试过了
追问
#include
float main(){
int sign=1,deno=2;
float term,sum=1.0;
for(deno=2;deno<=100;deno++)
{
sign=sign*(-1);
term=sign*(1/deno);
sum=sum+term;
}
printf("result: %f",sum);
system("pause");
}
能解释下为啥我这个的结果是1.0000000吗 谢谢
追答
term=sign*(1/deno);
这里错了了1/deno=0;
展开全部
term=sign*(1/deno) 后面缺了一个 分号 ;
注意要用英文半角。
这些问题久了就自然而然不会出现了。刚开始经常这样 0 0
注意要用英文半角。
这些问题久了就自然而然不会出现了。刚开始经常这样 0 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要强制转换
term=sign*(1/deno)
这句话中先执行1/deno,两个都是int,所以是整数除法(除出来肯定等于0)。
而且你要输出的是sum,不是sign吧。。。
term=sign*(1/deno)
这句话中先执行1/deno,两个都是int,所以是整数除法(除出来肯定等于0)。
而且你要输出的是sum,不是sign吧。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |