![](https://i-blog.csdnimg.cn/blog_migrate/e8904c54c22ec8aa3b6354b4306193b2.png)
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char const *argv[])
{
int sss[3000] = {0};
int i = 0;
int j = 0;
int n;
int t = 0; //替身
int dy[3000] = {0}; //存储差的绝对值
scanf("%d", &n);
scanf("%d", &sss[0]); //完整的流程就是要输入数组元素才能执行输出,即使是一个元素
if (n == 1)
{
printf("Jolly");
return 0;
}
for (i = 1; i < n; i++)
{
scanf("%d", &sss[i]);
}
//将每两个数的差值存在dy中
for (i = 1; i < n; i++)
{
dy[i - 1] = abs(sss[i] - sss[i - 1]);
}
// 开始排序,,这里用 冒泡排序
//############
for (i = 1; i < n; i++)
{
for (j = 0; j < n-2; j++)
{
if (dy[j] > dy[j + 1])
{
t = dy[j];
dy[j] = dy[j + 1];
dy[j + 1] = t;
}
}
}
int biaozhi = 0;
for (i = 0; i < n-1; i++)
{
if (dy[i] - dy[i + 1] == -1)
{
biaozhi++;
}
else
{
break;
}
}
if (biaozhi==n-2&&dy[0]==1)
{
printf("Jolly");
}
else
{
printf("Not jolly");
}
return 0;
}
冒泡#33行,内层循环条件 j<n-2 , 因为从0到n-3内循环要走n-2次(dy数组一共n-1个元素,两两比较,一共比较n-2次)。
另注: 用biaozhi++ 来看数组整体是否符合要求 奈斯