| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
RT,该程序的目的是输出交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和,但我无论如何输出的都是零,这是为什么? 
 
#include <stdlib.h> 
int main() 
{ 
  int i,n; 
  float k,sum; 
  scanf("%d",&n);//输入  
  for(sum=0,i=1,k=0;i<=n;i++) 
  { 
    if(i%2!=0){ 
      k=(double)(i/(2i-1)); 
    }else if(i%2==0){ 
      k=(double)((i/(2i-1))*(-1));//判断为奇数偶数  
    } 
    sum=sum+k;//求和  
    printf("%.3f\n",sum); 
    k=0; 
  } 
}
人形UMP9 发表于 2017-11-10 17:20 
return 0不打没关系吧?include复制时候打掉了 
强制转换的位置不对,应该先将 i 进行转换再进行计算而不是计算完了再转换,因为 
(double)(2/3) == 0 
而 
(double)2/3 == 0.66666  
 
 
 |   
 
 
 
 |