1条回答 默认 最新
- 冷0_O 2021-11-05 22:42关注
你好,代码已给出,望采纳。
即对称且平均成两部分之后仍然相等的数组。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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报