判断一组数据中有没有相邻数对,也就是一对数的相差为1,直接像上一题一样遍历之后判断后面的数有没有和这个数相减绝对值为1的即可。Fabs、abs皆可。但一定要注意的一个点是sum必须初始化为0,不然就会失败。因此,在以后的编程中一个值,或者是数组一旦创建我们都要习惯性的为其赋初值。
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int m,i,j,a[1000]={0},temp,num=0;
cin>>m;
for(i=0;i<m;i++){
cin>>temp;
a[i]=temp;
}
for(i=0;i<m-1;i++){
for(j=i+1;j<m;j++){
if(fabs(a[i]-a[j])==1){
num++;
}
}
}
cout<<num;
return 0;
}