que_de_yu_fu @ 2024-11-24 17:41:54
#include<bits/stdc++.h>
using namespace std;
int a,d;
double b,c;
int main(){
cin>>a;
for(int i=1;i<=a;i++)
{
c=1.0/i;
b+=c;
}
d=ceil(b);
cout<<d;
return 0;
}
好奇怪啊,这样子输出的结果都是对的,为什么全是WA,下载数据显示的输入3输出11,但是自己跑出来答案是2
by YBa2Cu3O7 @ 2024-11-24 17:48:36
b没初始化
by smll_wlm @ 2024-11-24 18:02:31
@YBa2Cu3O7
b全局定义了,初始为零
by smll_wlm @ 2024-11-24 18:04:15
@que_de_yu_fu
不应该用for循环,更适合while判断。因为n显然会大于等于a。
我觉得是你题目没看懂
by que_de_yu_fu @ 2024-11-24 18:22:15
@smll_wlm n怎么可能会大于等于a,a就是n啊
by que_de_yu_fu @ 2024-11-24 18:22:56
说错了应该是n不可能大于a
by smll_wlm @ 2024-11-24 18:57:27
@que_de_yu_fu
你要不要瞪大你的眼睛看看题目到底要你干什么
by que_de_yu_fu @ 2024-11-24 19:05:55
@smll_wlm 啊?对不起我是小丑