@[Z18821938825](/user/1227116) 1是 `int` 类型的,$i$ 也是 `int` 类型的,所以 `1/i` 的计算结果为 $0$,所以 $s$ 永远为 $0$,所以没有输出。
by zhouzihang1 @ 2024-02-04 20:23:17
你的代码想要输出就需要s>=1,
s每次循环都等于s+1/i,这里会先算1/i,i>=1,所以1/i=0,s永远不会增加,所以不会输出
by 0v_0___SYC @ 2024-02-04 20:37:27
一搜解决这个问题s应该是**double**型的
by 0v_0___SYC @ 2024-02-04 20:39:00
并且i的前面要加(double)
by 0v_0___SYC @ 2024-02-04 20:39:36
请问一下提问的时候怎么标记代码
by djtbsq @ 2024-02-06 15:08:53
```
print("这是代码")
```
格式:\```
[输入内容]
\```
by Wuhongyi17 @ 2024-02-08 02:43:25
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int k,s=0; //把这里的int改为float
cin>>k;
for(int i=1;;i++){
s=s+1/i; //可以改为 s+=1.0/i
if(s>k){
cout<<i;
return false;
}
}
return 0;
}
```
主要是整形和浮点型的问题
by Wuhongyi17 @ 2024-02-08 02:53:12