問題描述
試題編号: | 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;
}
}