中易网

c程序。编译正常,运行时出现错误

答案:3  悬赏:60  
解决时间 2021-04-27 16:52
  • 提问者网友:一人心
  • 2021-04-27 04:49


#include<stdio.h>
bool Judge(int n)
{
 if(n%2==0) return true;
 else return false;
}
double sum(int n)
{
 double s=0;
 double temple;
 if(Judge(n))
 {

  for(int i=2;i<=n;i+=2)
  {
   temple=1/i;
   s+=temple;
  }
 }
 else
 {
  for(int i=1;i<=n;i+=2)
  {
   temple=1/i;
   s+=temple;
  }
 }
 return s;
}
void main()
{
 int n;
 printf("请输入:");
 scanf("%f",n);
 if(Judge(n))
  printf("%f为偶数\n1/2+1/4+……1/n=,%f\n",n,sum(n));
 else
  printf("%f为奇数\n1/1+1/3+……1/n=,%f\n",n,sum(n));
}

最佳答案
  • 二级知识专家网友:悲观垃圾
  • 2021-04-27 05:08
#include<stdio.h>
bool Judge(int n)
{
 if(n%2==0) return
true;
 else return false;
}
double sum(int n)
{
 double
s=0;
 double temple;
 if(Judge(n))
 {  for(int
i=2;i<=n;i+=2)
  {
   temple=1.0/i;
   s+=temple;
  }
 }
 else
 {
  for(int
i=1;i<=n;i+=2)
  {
   temple=1.0/i;
   s+=temple;
  }
 }
 return
s;
}
void main()
{
 int n;
 printf("请输入:");
 scanf("%f",&n);
 if(Judge(n))
  printf("%f
为偶数\n1/2+1/4+……1/n=,%f\n",n,sum(n));
 else
  printf("%f为奇数\n1/1+1
/3+……1/n=,%f\n",n,sum(n));
}
注意加黑的地方
全部回答
  • 1楼网友:青春如此荒謬
  • 2021-04-27 06:40

temple=1/i都改为temple=1.0/i因为1/i的结果是0(整型除整型还是整型)

  • 2楼网友:无字情书
  • 2021-04-27 06:04
temple=1/i都改为temple=1.0/i因为1/i的结果是0(整型除整型还是整型)

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息