สมมติว่าเรามีตัวเลข n เราจะต้องสร้างอาร์เรย์ขนาด n แบบไดนามิกและนำตัวเลข n มาทีละตัว จากนั้นจึงหาผลรวม ในการสร้างอาร์เรย์ เราสามารถใช้ฟังก์ชัน malloc() หรือ calloc() ซึ่งมีอยู่ในไฟล์ส่วนหัว stdlib.h ค่าของ n ยังถูกจัดเตรียมเป็นอินพุตผ่าน stdin ด้วย
ดังนั้น หากอินพุตเป็น n =6 และองค์ประกอบอาร์เรย์ 9, 8, 7, 2, 4, 3 ผลลัพธ์จะเป็น 33 เพราะผลรวมของ 9 + 8 + 7 + 2 + 4 + 3 =33
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ผลรวม :=0
-
รับหนึ่งอินพุตและเก็บไว้ใน n
-
arr :=สร้างอาร์เรย์ขนาด n
. แบบไดนามิก -
สำหรับการเริ่มต้น i :=0 เมื่อฉัน
-
รับอินพุตและเก็บไว้ใน arr[i]
-
-
สำหรับการเริ่มต้น i :=0 เมื่อฉัน
-
sum :=sum + arr[i]
-
-
ผลตอบแทนรวม
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#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);
}
อินพุต
6 9 8 7 2 4 3
ผลลัพธ์
33