Giả sử chúng ta có một số n. Nhiệm vụ là cấp phát động một mảng kích thước n, nhập n số nguyên, sau đó tính tổng của chúng. Để cấp phát động, ta dùng malloc() hoặc calloc() từ thư viện stdlib.h. Giá trị n cũng được nhập từ stdin.
Ví dụ, n = 6, các phần tử: 9, 8, 7, 2, 4, 3 → tổng = 33.
Giải thuật
- Khởi tạo sum = 0
- Nhập n
- Cấp phát mảng arr = (int*)malloc(n * sizeof(int))
- Nhập n phần tử vào mảng
- Duyệt mảng cộng dồn vào sum
- In sum
Ví dụ minh họa
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr;
int n;
int sum = 0;
scanf("%d", &n);
arr = (int*) malloc(n * sizeof(int));
for (int i = 0; i < n; i++) {
scanf("%d", (arr + i));
}
for (int i = 0; i < n; i++) {
sum += arr[i];
}
printf("%d", sum);
return 0;
}
Đầu vào
6 9 8 7 2 4 3
Đầu ra
33