vector_STL_ @ 2024-08-24 11:16:01
#include<bits/stdc++.h>
using namespace std;
bool a[114514];
int main(){
int n,i;
cin>>n;
for(i=1;i<=n;i++){
a[i]=true;
for(int j=1;j<=n;j++){
if(j>=n&&j%n==0){
if(a[i]==true){
a[i]=false;
}
else if(a[i]==false){
a[i]=true;
}
}
}
if(a[i]=false){
cout<<i;
}
}
return 0;
}
by Grammar__hbw @ 2024-08-24 11:17:18
@zch120526 if(a[i]=false)
永远返回false,同时还把a[i]变成false,所以显然没有输出。请使用if(a[i]==false)
。
by Alex_smy @ 2024-08-24 11:18:47
@zch120526 正解:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
for (int i=1;i*i<=n;i++){
cout<<i*i<<" ";
}
return 0;
}
求关
by szrgjxms @ 2024-08-24 11:19:08
@Grammar__hbw 这个应该为给 a[i] 赋值为 false 并且赋值完后判断 a[i] 是否为 true 吧
by Alex_smy @ 2024-08-24 11:21:06
@szrgjxms bool 类型数组初始值默认为 false
by szrgjxms @ 2024-08-24 11:22:07
@Alex_smy 那是全局变量,你定个局部试试?!
by szrgjxms @ 2024-08-24 11:22:37
@Alex_smy 而且貌似你没有听懂我的意思
by Grammar__hbw @ 2024-08-24 11:24:26
@szrgjxms 赋值语句有返回值。(a[i]=false)
的值为false。
你的解释也可以接受。
by sunxinzhe @ 2024-08-24 11:24:56
大哥,if(a[i]=false),c++判断是否相等使用==,=是赋值
by szrgjxms @ 2024-08-24 11:25:56
@Grammar__hbw 好的
by vector_STL_ @ 2024-08-24 12:40:25
现在更乱了qwq