您的位置:首页 > 其它

CCF CSP 201403-1 相反数

2017-10-14 20:24 316 查看
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址

CCF CSP 201403-1 相反数

问题描述

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

输入格式

  第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
  第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。

输出格式

  只输出一个整数,即这 N 个数中包含多少对相反数。

样例输入

5
1 2 3 -1 -2

样例输出

2

解析

使用一个数组arr记录是否出现过绝对值为a的数。

代码

C

#include <stdio.h>
#include <math.h>

int main() {
bool arr[1001] = {0};
int N;
scanf("%d", &N);
int cnt = 0;
for(int n=0; n<N; n++) {
int num;
scanf("%d", &num);
num = abs(num);
if(arr[num]) cnt++;
arr[num] = true;
}
printf("%d", cnt);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: