CCF-201403-1(相反数)

								相反数

一:题目描述

有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。


二:理解
这个题是第一题比较简单,就直接暴力就可以;一个一个比较;
为什么要有一个temp[510]数组呢?答:标记每个数是否配对,已经有配对直接遍历下一个数。
注:当时写的时候遇到一个问题,就是我把temp[510]开始初始化全部为‘1’时,是不可以的。 如: int temp[510] = {1}; 是无法赋值的,只能对其赋‘0’值。如: int temp[510] = {0};这样是可以的。
当时学C语言的时候一直以为它具有普遍性,谁知只能赋‘0’值。(实践是检验真理的唯一标准,嘻嘻!)。

三:代码

#include<bits/stdc++.h>
using namespace std;

int N,num[510];
int main()
{
	int count = 0;
	int	temp[510] = {0};
	cin >> N;
	for(int i = 0; i < N; i++)
		cin >> num[i];	
	//暴力 
	for(int i = 0; i < N; i++)
		for(int j = 0; j < N; j++)
		{
			if(num[i] == (-num[j]) && !temp[i] && !temp[j])
			{
				count++;
				temp[i] = 1;
				temp[j] = 1;
				break;
			}
		}
	cout << count << endl;
	return 0;
}
发布了89 篇原创文章 · 获赞 90 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/pfl_327/article/details/104011306