这题的主要关键就是冒泡排序和通过等差数列的性质来判断
#include <stdio.h>
void BubbleSort(int *arr, int size) //冒泡排序
{
int i, j, tmp;
for (i = 0; i < size - 1; i++) {
for (j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j+1]) {
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++) //最外层循环,来根据输入决定代码运行次数
{
int l;
scanf("%d",&l); //每次运行时需要的数据个数
if(l==1)
{
printf("no");
return 0;
}
int a[l];
for(int j=0;j<l;j++)
{
scanf("%d",&a[j]);
}
BubbleSort(a,l);
int temp=0;
for(int j=0;j<l-1;j++)
{
if(j==0) //判断是否为等差数列
{
temp=a[j+1]-a[j];
if(temp==0)
{
printf("no\n");
return 0;
}
}
if(temp!=a[j+1]-a[j])
{
printf("no\n");
return 0;
}
}
printf("yes\n");
}
}