你好,代码已给出,望采纳。
即对称且平均成两部分之后仍然相等的数组。
int palindrome_array()
{
int arr[1000] = {0};
int size_arr = 0,elem = 0;
while(1){
printf("请输入数组有效长度,必须是偶数且大于等于2且小于等于1000\n");
scanf("%d",&size_arr);
if((size_arr>=2) && (size_arr<=1000) && (0==size_arr%2))
break;
printf("输入无效!\n");
}
//输入数组元素
printf("依次输入数组的各个元素\n");
for(int aount=0; aount<size_arr; aount++){
scanf("%d",&elem);
arr[aount] = elem;
}
//将数组看成两部分进行比较,三个用于循环的下标
int left = 0;
int right = size_arr/2 - 1;
int flag = size_arr/2;
while(flag < size_arr){
if( (arr[flag] == arr[right]) && (arr[flag] == arr[left])){
++ flag;
++ left;
-- right;
}
else{
printf("NO\n");
return -1;
}
}
printf("YES\n");
return 0;
}