c语言初学者简单代码问题

帮我看看这段代码,为什么我一运行它输入数字后软件就停止运行提示关闭程序了,我找不出哪里错了,各位可以帮我看看吗?
#include<stdio.h>

int main(void)
{
int count1,count2,number;
double sum1,sum2,sum;
sum1=0;sum2=0;
scanf("%d",&number);
for(count1=0,count2=1;count1<number||count2<number;count1+=2,count2+=2)
{
sum1=sum1+1/count1+1/count2;
sum2=sum2+1/count2-1/count1;
sum=sum1+sum2;
}
printf("sum1= %lf,sum2= %lf,sum= %lf",sum1,sum2,sum);

return 0;
}

第1个回答  2019-01-11
肯定要把p=0放在for循环之内啊,
看 if((i%n)==0)
p=p+n;
每次循环时,如果i%n==0,那么p的值就改变了,,为了使它对i后面的值没影响,所以每次都要置0
第2个回答  2017-02-17
for(count1=0,count2=1;count1<number||count2<number;count1+=2,count2+=2)
{
sum1=sum1+1/count1+1/count2;
sum2=sum2+1/count2-1/count1;
sum=sum1+sum2;
}

第一次运行该循环时,count1=0,1/count1 导致计算错误

本回答被提问者采纳
相似回答