70,不明白错在哪?
查看原帖
70,不明白错在哪?
1256608
Z09103839楼主2024/9/7 17:34
#include<iostream>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
  //ab数组默认为零
int m,n,a[100],b[200];
void search(int* a, int num) {
  //num在数组中出现,把它对应的值变位非零值
	for (int i = m - 1; i > 0; i--)if (a[i] == num) { b[num]++; break; }
}
int main() {
	cin >> m ;
	for (int i = 0; i < m; i++) cin >> a[i];
	sort(a, a + m);
  //排序后遍历相加
	for (int i = 0; i < m-1; i++) {
		for (int j = i + 1; j < m; j++)
			search(a, a[i] + a[j]);
	}
  //有几个非零值即几个不同的数
	for (int i = 3; i < 200; i++)if (b[i])n++;
	cout << n;
	return 0;
}
2024/9/7 17:34
加载中...