簡體   English   中英

計算數組中所有兩位整數的和

[英]Calculate the sum of all two digits integers in an array

我想計算包含兩位數的數組中所有整數的總和。 例如:

int[] arr1 = {1, 23, 4, 55};
int[] arr2 = {2, 5, -66, 23};

第一個數組的結果應該是23 + 55 = 78 ,而第二個數組的結果應該是-66 + 23 = -43 我怎樣才能做到這一點?

如果要對僅包含兩位數字的元素求和,可以使用以下命令:

int[] arr = {1, 23, 4, 55};
int sum = 0;
for (int i : arr) {
    if (Math.abs(i) > 9 && Math.abs(i) < 100) {
        sum += i;
    }
}

您可以使用元素的索引:

int[] arr1 = {1,23,4,55};
int[] arr2 = {2,5,-66,23};

int sum1 = arr1[1] + arr1[3];
int sum2 = arr2[2] + arr2[3];

要獲取數組中兩個數字的總和:

  1. 調用數組並使用要檢索的值的索引在其中返回一個值
  2. 將該值添加到對數組的另一個調用中(同樣,指定所需的索引)
  3. 將該值分配給您需要的類型

請記住,在調用數組以訪問存儲的值時,請使用該值在數組中的索引(或位置)——然后添加一個。 我們使用 indexOfValue + 1 的這個公式,因為大多數語言從第 0 個位置開始索引數組(盡管這並不總是正確的,例如,Fortran 索引其數組從 1 開始。因此“整數 anArray(50)”將創建一個數組存儲 50 個 int 元素,從索引 1 開始到索引 50 結束)。 編程語言中這種結構設計的另一個結果是可以使用 sizeOfArray - 1 訪問數組的最后一個值。

要澄清這些概念,請查看以下代碼:

    int[] a = {1,23,4,55};
    int firstSum = a[1] + a[3]; // performs 23 + 55
    int[] b = {2,5,-66,23};
    int secondSum = b[2] + b[3]; // performs -66 + 23
    int sumOfLastValues = a[a.length - 1] + b[b.length - 1];

我會給你一些我已經嘗試過的代碼:

int sum1 = 0, sum2 = 0;
            int[] arr1 = {1, 23, 4, 55};
            for(int i: arr1){
                if(i/10 > 0 && i/100 == 0){
                    sum1 += i;
                }
                else if(i/-10 > 0 && i/-100 == 0){
                    sum1 -=i;
                }
            }
            int[] arr2 = {2, 5, -66, 23};
            for(int i: arr2){
                if(i/10 > 0 && i/100 == 0){
                    sum2 += i;
                }
                else if(i/-10 > 0 && i/-100 == 0){
                    sum2 +=i;
                }
            }
        System.out.println(sum1);
        System.out.println(sum2);

結果是:

78
-43

您可以轉換為字符串並檢查。

    for(int num : v) {
    
    // check for size
    string str = to_string(num);
    if( (str.size() == 2) || (str.size()==3 && (str[0]=='+' || str[0]=='-') ) )
        sum += num;
}

cout<<sum;

可運行代碼可以從https://github.com/sankarees/playground/blob/main/calculate-the-sum-of-all-two-digits-integers-in-an-array下載

截圖代碼:

public static int getSumOfTwoDigits(int[] numbers) {
    int sum = 0;
    for (int number : numbers) {
        int divident = (number < 0 ? number * -1 : number) / 10;
        if (divident > 0 && divident < 10) {
            sum += number;
        }
    }
    return sum;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM