求助,我为什么是错的,我感觉我和正确答案一模一样

P1035 [NOIP2002 普及组] 级数求和

编程好难 @ 2020-01-12 15:24:39


by _Camille_ @ 2020-01-12 15:26:04

我感觉我和正确答案一模一样

编程有正确答案?而且你的代码呢?


by 编程好难 @ 2020-01-12 15:26:12

为什么总是显示排版错误不让我发代码


by 编程好难 @ 2020-01-12 15:27:06

@Mr_zherui 啊啊啊 说我没有按照要求排版


by _Camille_ @ 2020-01-12 15:27:39

@dich 打字区上方左数地15个,点开后把你的代码复制进去


by 编程好难 @ 2020-01-12 15:34:25

@Mr_zherui 谢谢,可能是我手机不方便,我回去用电脑再试试,谢谢谢谢


by _Camille_ @ 2020-01-12 15:36:20

@dich 没事QwQ


by 编程好难 @ 2020-01-13 07:53:57

@Mr_zherui

#include"stdio.h"
int main()
{ int k,n;
 double sn=0;
 scanf("%d",&k);
 for(n=1;sn<=k;n++)
   sn+=1.0/n;
    printf("%d",n);
}

by 编程好难 @ 2020-01-13 07:56:27

#include"stdio.h"
int main()
{ int k,n;
 double sn=0;
 scanf("%d",&k);
 for(n=1;;n++)
   {sn+=1.0/n;
     if(sn>k) break;}
    printf("%d",n);
}

不太明白为什么这个就是正确的,控制循环退出的条件明明一样的,但是运行的结果就是不一样啊啊啊


by bread555 @ 2020-01-13 18:03:29

@编程好难 因为c语言里for循环的 循环体在二、三两个条件之间执行。


by 编程好难 @ 2020-01-13 20:24:37

@bread555 是的呀,先执行第二个条件,再执行第三个条件


| 下一页