Viết chương trình nhập mảng 1 chiều các số thực tính tổng các phần tử có trong mảng

Bài tập này chúng ta sẽ sử dụng các kiến thức từ ngôn ngữ lập trình C như: cách nhập xuất cơ bản, cách sử dụng mảng một chiều và cách sử dụng hàm trong ngôn ngữ lập trình C.

Yêu cầu của bài tập đưa ra cho chúng ta là tính tổng các phần tử có trong mảng một chiều số nguyên bằng ngôn ngữ C.

1. Lời giải

Đầu tiên để thực hiện bài toán này chúng ta cần có kiến thức cơ bản về ngôn ngữ lập trình C, các cách nhập xuất cơ bản trong C, mảng một chiều trong C và cách sử dụng hàm trong ngôn ngữ lập trình C.

Các bước thực hiện yêu cầu của bài tập tính tổng các phần tử có trong mảng một chiều bằng ngôn ngữ lập trình C như sau:

Bước 1: Ta khai báo một mảng tĩnh số nguyên có 100 ô nhớ int a[100].

Bước 2: Ta khai báo số nguyên int n là số lượng phần tử có trong mảng với điều kiện n>1 hoặc n<100 nếu không thỏa mãn thì yêu cầu nhập lại n.

Bước 3: Ta khỏi tạo hàm void Nhap(int a[], int n) dùng để nhập dữ liệu từ bàn phím cho mảng. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i

Bước 4: Ta khởi tạo hàm void Xuat(int a[], int n) dùng để hiển thị dữ liệu từ mảng ra màn hình. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i

Bước 5: Ta khởi tạo hàm void Sum(int a[], int n) dùng để tính tổng các phần tử có trong mảng. Trong hàm ta khai báo biến int Tong = 0 dùng để tính giá trị tổng của các phần tử có trong mảng, ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i

Bước 6: Trong hàm main ta gọi hàm Nhap(a,n), Xuat(a,n) và Sum(a,n) rồi chạy chương trình.

Chương trình giải bài tập tính tổng của các phần tử có trong mảng một chiều số nguyên trong C như sau:

#include void Nhap(int a[], int n)//ham nhap mang { for(int i=0; i100) { printf("Nhap lai:"); } }while(n<1 || n>100);//dieu kien neu n<1 hoac n>100 yeu cau nhap lai Nhap(a, n);//goi ham nhap mang printf("\nCac phan tu co trong mang la:\n"); Xuat(a,n);// goi ham xuat mang Sum(a,n);//goi ham tinh tong }

Ví dụ tôi nhập mảng có 5 phần tử: 1, 2, 3, 4, 5.

Kết quả:

Nhap so phan tu cua mang:5 Nhap a[0] = 1 Nhap a[1] = 2 Nhap a[2] = 3 Nhap a[3] = 4 Nhap a[4] = 5Cac phan tu co trong mang la: 1 2 3 4 5

Tong cac phan tu trong mang la: 15

2. Tổng kết

Sau khi làm bài tập này các bạn cần phải hiểu và nắm được những kiến thức sau:

  • Cách nhập xuất cơ bản trong ngôn ngữ lập trình C.
  • Cách sử dụng hàm trong ngôn ngữ lập trình C.
  • Cách sử dụng mảng một chiều trong ngôn ngữ lập trình C.
  • Cách sử dụng vòng lặp for để duyệt các phần tử trong mảng.

Viết chương trình nhập mảng 1 chiều n phần tử (n<=100)

a) In mãng vừa nhập

b) Đếm số phần tử lẻ

c) Tính tổng các phần tử chia hết cho 3

Viết chương trình nhập một mảng 1 chiều n phần tử các số thực và in mảng đã nhập. Nhập tiếp 1 số thực, tìm và hiển thị tất cả các vị trí số đã nhập có trong mảng?

2. Viết chương trình nhập một mảng 1 chiều n phần tử các số thực và in mảng đã nhập. Tìm và in ra vị trí của số âm cuối cùng có trong mảng.

3. Viết chương trình nhập một mảng 1 chiều n phần tử các số nguyên và in mảng đã nhập. Tìm và in ra tổng của các phần tử chia hết cho 3 có trong mảng.

4. Viết chương trình nhập một mảng 1 chiều n phần tử các số thực và in mảng đã nhập. Nhập tiếp một số x và tìm các phần tử trong mảng lớn hơn x.

5. Viết chương trình nhập một mảng 1 chiều n phần tử các số thực và in mảng đã nhập. Tìm và in ra giá trị lớn nhất, bé nhất, các phần tử đạt giá trị lớn nhất, bé nhất.

Giaỉ giúp mình mâý bt trên. (mảng và con trỏ)

1. Pascal Nhập xuất và tính tổng các phần tử trong mảng

Nhập xuất và tính tổng các phần tử trong mảng.

Ví dụ: A:        1   5   6   7   4 

Kết quả:          Tong S = 23

Hướng dẫn: Để giải quyết bài toán cần phải đảm bảo các vấn đề:

-  Nhập mảng, có thể xây dựng thành hàm để đóng gói và sử dụng lại. Các thao tác theo yêu cầu:

(1) Nhập số N.

(2) Tiến hành lặp (từ 0 đến N-1) và nhập cho các giá trị Ai trong mảng.

Lưu ý: N phải được vào truyền theo dạng tham biến (tức là &N)

-  Xuất mảng. Công việc đơn giản là sử dụng voøng lặp từ 0 đến N-1 để in ra các giá trị Ai cho mảng. Sau đó, Writeln  xuống dòng.

-   Hàm tính tổng các phần tử cho một mảng A

+ Khai báo và khởi tạo toång S là 0.

+ Sử dụng một vòng lặp (từ 0 đến N-1 để duyệt qua tất cả các giá trị Ai) để tính cộng dồn giá trị của Ai vào tổng S.

-  Viết thân chöông trình chính với nội dung dùng để kiểm tra kết quả thực hiện của hàm.

+ Khai báo mảng A có tối đa 20 phần tử và biến N chỉ số lượng phần tử của A.

+ Gọi hàm nhập mảng để nhập mảng A, với N phần tử.

+ Gọi hàm xuất mảng A, với N phần tử.

+ In giá trị của tổng các phần tử bằng cách truyền trực tiếp giá trị trả về của việc tính tổng cho Writeln(……)

+ Gọi hàm Readln( ) trước khi kết thúc  để dừng lại xem kết quả.

Chương trình:

2. Một số bài tập tính tổng với mảng 1 chiều

Bài toán 1: Nhập vào mảng 1 chiều từ bàn phím chỉ chứa được 100 phần tử có giá trị kiểu nguyên. Tính tổng các giá trị là số chẵn sau đó in ra màn hình.

Bài tập này mình cũng đã hướng dẫn trong mảng 1 chiều về cách tìm số chẵn. Cách làm như sau, xây dựng Function TongChan(Var A:Arr100;Var N:Integer):Integer; Trong đó A:Arr100 là mảng 1 chiều có kích thước 100 phần tử và N là số phần tử của mảng mà bạn đưa vào. 

1. Tạo biến S:=0 để lưu tổng chẵn ban đầu bằng 0.

2. Duyệt từ phần tử A[i] đầu tiên đến A[N] kiểm tra nếu chia dư cho 2 bằng 0 => chẵn thì S:=S+A[i].

Đơn giản chỉ có vậy thôi và dưới đây là Function của bài tập này.

Nếu như bạn muốn tính tổng các số lẻ có trong mảng 1 chiều chỉ cần sửa đoạn If(A[i] mod 2 = 0) then thành If(A[i] mod 2 = 1) then là sẽ thành hàm tính tổng các số lẻ.

Bài toán 2: Cho người dùng nhập mảng 1 chiều biết mảng chỉ chứa được 100 phần tử số nguyên dương. Hãy tính tổng của mảng đều chia hết cho 4 và in kết quả ra màn hình.

Bài tập tương tự như bài ở trên các bạn chỉ cần thay đoạn If(A[i] mod 2 = 0) then thành If(A[i] mod 4 = 0) then là đã có thể sử dụng lại chương trình.

Nếu như có các bài toán tương tự bắt chúng ta tính tổng của các số chia hết cho 3, cho 5, cho 6 cho 7,… thì chúng ta làm sao đây? không thể ngồi viết hàng loạt các chương trình con để tính cho từng bài tập được mà các bạn chỉ cần tạo ra một chương trình con duy nhất có thể sử dụng cho tất cả các trường hợp như sau.

Chương trình đây đủ cho các bạn