向数组中添加最小数字,以便在C编程中总和变得均匀

给定一个数组,将最小数(应大于0)添加到数组中,以使数组的总和变为偶数。

输入 -1 2 3 4,

输出 -2

说明-数组的总和为10,所以我们 

加上最小数2以使总和为偶数。

方法1:计算数组中所有元素的总和,然后检查总和是否为偶数,然后将最小值加为2,否则将最小值加为1。

输入 -1 2 3 4,

输出 -2

说明 - 数组的总和为10,因此我们加上最小值2以使总和均匀。

示例

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4};
   int n=4;
   int sum=0;
   for (int i = 0; i <n; i++) {
      sum+=arr[i];
   }
   if (sum % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

方法2-计算数组中元素的奇数计数。如果出现的奇数计数为偶数,则返回2,否则返回1。

输入 -1 2 3 4 5

输出 -1

说明 -否。数组中的of是3
加最小值1以使总和均匀。

示例

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   int odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd += 1;
      }
   }
   if (odd % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

方法3-取得 一个标志变量(初始化为0)。每当我们在数组中找到奇数元素时,我们都会对布尔变量执行NOT(!)操作。该逻辑运算符将标志变量的值取反(意味着如果它为0,则将变量转换为1,反之亦然)。

输入 -1 2 3 4 5

输出 -1

说明 -变量初始化为0。
遍历数组
1为奇数,变量更改为1。2
为偶数
3为奇数,变量更改为0。4
为偶数
5为奇数,变量更改为1

如果变量值为1,则表示存在奇数个奇数元素,使元素之和成为偶数的最小数量是加1。

其他最小数字为2。

示例

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   bool odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd = !odd;
      }
   }
   if (odd) {
      cout <<"1";
   } else {
      cout <<"2";
   }
   return 0;
}