问题描述:给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差为1
输入格式:
输入的第一行包含一个整数n,表示给定整数的个数
第二行包含所给定的n个整数
输出格式:
输出一个整数,表示值相差为1的个数
分析:
给给定的数组进行排序 ,然后直接比较相邻的元素
代码如下:
#include<stdio.h>
int main(void){
int n;
int i,j,temp,count;
scanf("%d",&n);
int array[n];
for(i=0;i<n;i++){
scanf("%d",&array[i]);
}
//排序
for(i=1;i<n;i++){
for(j=i;j>0;j--){
if(array[j]<array[j-1]){
temp=array[j-1];
array[j-1]=array[j];
array[j]=temp;
}else{
break;
}
}
}
count=0;
for(i=1;i<n;i++){
if(array[i]-array[i-1]==1){
count++;
}
}
printf("%d",count);
return 0;
}