C Code:
int sumLast3(int arr[], int size) { int start = size - 3; if (start < 0) start = 0; int sum = 0; for (size--; size >= start; size--) { sum += arr[size]; } return sum; }
C Code:
int sumLast3(int arr[], int size) { int start = size - 3; if (start < 0) start = 0; int sum = 0; for (size--; size >= start; size--) { sum += arr[size]; } return sum; }
Nếu chỉ cộng vài ba phần tử thì không cần dùng vòng lặp:
return ( ((size>=1)? arr[size-1] : 0) + ((size>=2)? arr[size-2] : 0) + ((size>=3)? arr[size-3] : 0) );
Nếu cần cộng nhiều thì dùng vòng lặp (giả sử cần tổng n phần tử cuối cùng)
for (int tong = 0, lim = size - n;; ) {
if (size <= lim || size <= 0) return tong;
tong += arr[--size];
}