IMG-LOGO
Trang Chủ Chủ Đề BT03. Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động
× 1) 01 - Nhập môn cho người mới bắt đầu - Lập trình C 2) 02.Flowchart & ví dụ viết flowchart của phương trình bậc 1 - Lập Trình C 3) 03. Hướng dẫn cài đặt môi trường lập trình C - Lập trình C 4) 04. Tìm hiểu biến & kiểu dữ liệu trong C - Lập trình C 5) 05. Toán tử & biểu thức login trong C - Lập Trinh C 6) 06. Nhập dữ liệu trong C (scanf, printf) - Lập trình C 7) 07. Nhập xuất dữ liệu phần 2 - Lập Trình C 8) 08. Tìm hiểu if, else, switch trong lập trình C - Lập Trình C 9) 09. Tìm hiểu về vòng lặp for trong C - Lập trình C 10) 10. Tìm hiểu while, do..while trong lập trình C - lập Trình C 11) 11. Tìm hiểu mảng 1 chiều trong C - Lập trình C 12) 12. Tìm hiểu mảng 2 chiều - Lập Trình C 13) 15. Tìm hiểu pointer phần 3 - Lập trình C 14) 14. Tìm hiểu pointer phần 2 - Lập Trình C 15) 13. Tìm hiểu pointer phần 1 - Lập Trình C 16) 16. Tìm hiểu function trong lập trình C - Lập Trình C 17) 17. Tìm hiểu string trong lập trình C - Lập Trình C 18) BT01. Bai tap C - Ôn Tập Full C - Lập Trình C 19) 18. Struct trong C - Lập Trình C 20) 1000 Bài tập C - Lập Trình C 21) BT02 - Hướng dẫn chữa bài Fibonaci - Lập Trình C 22. BT03. Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động 23) BT04. Hướng dẫn chừa bài tập quản lý rạp chiều phím - Lập trình C

BT03. Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động

by TRẦN VĂN ĐIỆP - 10:05 29/08/2019 2,150 Lượt Xem

Đề Bài

Cho menu chương trình như sau

1. Nhập vào N số nguyên

2. Hiển thị danh sách các phần tử trong mảng

3. Tính tổng các phần tử trong mảng

4. Săp xếp các phần tử trong mảng theo thứ tự tăng dần

5. Thoát

Yêu cầu :

Khai báo biến con trỏ t trong chương trình

- Khi người dùng lựa chọn 1 -> thực hiện hỏi người dùng số phần tử cần thểm vào mảng t. Sau đó nhập các phần tử được thêm vào cho mảng t

sau khi nhập -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 2 -> thực hiện theo yêu câu -> sau khi thực hiên xong -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 3 -> thực hiện theo yêu câu -> sau khi thực hiên xong -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 4 -> thực hiện theo yêu câu -> sau khi thực hiên xong -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 5 -> thoát chương trình

Mã Nguồn:


#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void showMenu() {
	printf("1. Nhap N phan tu cho mang");
	printf("2. Hien thi danh sach cac phan tu trong mang");
	printf("3. Tinh tong cac phan tu trong mang");
	printf("4. Sap xep cac phan tu trong mang theo thu tu tang dan");
	printf("5. Thoat!");
	printf("Choose : ");
}

int main(int argc, char *argv[]) {
	//quan ly cac phan tu trong mang
	int *t;
	int total = 0, N, choose, i, j;
	int sum = 0;
	
	do {
		showMenu();
		scanf("%d", &choose);
		
		switch(choose) {
			case 1:
				printf("Nhap so phan tu can them N = ");
				scanf("%d", &N);
				//tong so phan tu trong mang t
				if(total == 0) {
					total = N;
					t = (int *) calloc (N, sizeof(int));
				} else {
					total += N;
					t = (int *) realloc(t, total * sizeof(int));
				}
				//nhap du lieu cho tung phan tu
				//tong so phan tu : total, index : 0 -> total - 1
				//da nhap san : 0 -> total - N - 1 : phan tu cu -> da nhap roi
				//total - N toi total - 1
				for(i=total - N;i<total;i++) {
					printf("Nhap phan tu t[%d] = ", i);
					scanf("%d", t+i);
				}
				break;
			case 2:
				printf("Danh sach phan tu trong mang :");
				for(i=0;i<total;i++) {
					printf("%d, ", t[i]);
				}
				break;
			case 3:
				for(i=0;i<total;i++) {
					sum += t[i];
				}
				printf("Tong = %d", sum);
				break;
			case 4:
				for(i=0;i<total-1;i++) {
					for(j=i+1;j<total;j++) {
						if(t[i] > t[j]) {
							//swap -> doi vi tri cua i & j
							//t[i] = 5, t[j] = 2
							int temp = t[i];//temp = 5
							t[i] = t[j];//t[i] = 2, t[j] = 2
							t[j] = temp;//t[j] = 5
						}
					}
				}
				printf("Ket qua:");
				for(i=0;i<total;i++) {
					printf("%d, ", t[i]);
				}
				break;
			case 5:
				printf("Thoat!");
				break;
			default:
				printf("Nhap sai!");
				break;
		}
	} while(choose != 5);
	
	return 0;
}


Theo dõi cập nhật nội dung học trên Youtube


Bình luận



Chia sẻ từ lớp học

Phân Loại Bài Viết

Danh Sách Bài Học

Quick Quizzz!!!

User ImageUser ImageUser Image
User ImageUser ImageUser Image
User ImageUser ImageUser Image
User ImageUser ImageUser Image
User ImageUser ImageUser Image
User Image
User ImageUser ImageUser Image
>> Hiển Thị Quizzz
Đã sao chép!!!