题目描述
算法设计+题目分析
分析题目:
因为题目给的数各不相同,所以只需要对所有给定的数取绝对值,然后判断有多少对数相等即可。
注意点+记录点
无
代码(100分)
环境
Visual C++6.0
#include <stdio.h>
#include <algorithm>
using namespace std;
int N[501];
int main(){
int n;
scanf("%d", &n);
for(int i=0; i<n; i++){
scanf("%d", &N[i]);
N[i]=abs(N[i]);//转化为绝对值
//printf("%d", N[i]);
}
sort(N, N+n);//对保存的所有数按从小到大排序
int result=0;//保存相反数数量
for(int j=0; j<n-1; j++){//由于原本所有的数各不相同,所以取绝对值后相同的就是相反数
if (N[j]==N[j+1]){//找到一对相反数
result++;
j++;//跳过下一个数
}
}
printf("%d", result);
return 0;
}
感谢链接
无