你这b在代码里有啥用,你只定义了b,中间都没有进行操作,所以你只会输出0
by 2011Andy @ 2023-02-14 21:28:10
可以参考一下我的代码
用b数组来打标记
```
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[100],b[100],ans=0,sum=0;
cin >> n;
for(int i = 1 ; i <= n ; i++){
cin >> a[i];
b[i]=2;
}
for(int i = 1 ; i <= n ; i++){
for(int j = i+1 ; j <= n ; j++){
sum = a[i] + a[j];
for(int k = 0 ; k <= n ; k++){
if(sum == a[k] && b[k] != 1){
ans++;
b[k]=1;
}
}
}
}
cout << ans ;
return 0;
}
```
by 2011Andy @ 2023-02-14 21:29:40
记得给我个关注~~QAQ~~
by 2011Andy @ 2023-02-14 21:30:51
@[2011Andy](/user/660871) OK
by kevin3 @ 2023-02-14 21:36:27
呵你这啥也没干啊。。。
by Patron_Saint @ 2023-02-14 21:48:42
```
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,n1,n2,n3,a[105],ans = 0;
bool vis[10005] = {0};
cin >> n;
for(int i = 1;i <= n;i++){
cin >> a[i];
}
for(int i = 1;i <= n;i++)
{
n1 = a[i];
for(int j = 1;j <= i-1;j++)
{
n2 = a[j];
for(int k = 1;k <= n;k++)
{
n3 = a[k];
if(n1+n2==n3&&vis[n3]==false)
{
vis[n3] = true;
ans++;
}
}
}
}
cout << ans;
return 0;
}
by DREAM_flyfish @ 2023-02-18 10:51:25