天天看點

201403-1 相反數

問題描述

試題編号: 201403-1
試題名稱: 相反數
時間限制: 1.0s
記憶體限制: 256.0MB
問題描述:

問題描述   有 N 個非零且各不相同的整數。請你編一個程式求出它們中有多少對相反數(a 和 -a 為一對相反數)。 輸入格式   第一行包含一個正整數 N。(1 ≤ N ≤ 500)。

  第二行為 N 個用單個空格隔開的非零整數,每個數的絕對值不超過1000,保證這些整數各不相同。 輸出格式   隻輸出一個整數,即這 N 個數中包含多少對相反數。 樣例輸入 5

1 2 3 -1 -2 樣例輸出 2

解題思路:

這又是一道數組和for循環連在一起使用的題目

其實就是從頭提取一個數字然後往後面周遊,利用相反數的性質(a+b=0)來進行判斷,如果等于0就sum++;

一直操作到最後一個數字

代碼展示:

#include<iostream>
using namespace std;
int main()
{
	int n=0;
	int arr[1010]={0};
	while(cin>>n)
	{
		for(int i=0;i<n;i++)
		cin>>arr[i];
		int sum=0;
		for(int i=0;i<n;i++)
		{
			for(int j=i+1;j<n;j++)
			{
				if(arr[i]+arr[j]==0)
				sum++;
			}
		}	
		cout<<sum<<endl;
	}	
}