IMG-LOGO
Trang Chủ Lập Trình C [Share Code] Bài tập pointer nâng cao - cấp phát động - Lập trình C
×

Lý Thuyết

01 - Nhập môn cho người mới bắt đầu - Lập trình C 02.Flowchart & ví dụ viết flowchart của phương trình bậc 1 - Lập Trình C 03. Hướng dẫn cài đặt môi trường lập trình C - Lập trình C 04. Tìm hiểu biến & kiểu dữ liệu trong C - Lập trình C 05. Toán tử & biểu thức login trong C - Lập Trinh C 06. Nhập dữ liệu trong C (scanf, printf) - Lập trình C 07. Nhập xuất dữ liệu phần 2 - Lập Trình C 08. Tìm hiểu if, else, switch trong lập trình C - Lập Trình C 09. Tìm hiểu về vòng lặp for trong C - Lập trình C 10. Tìm hiểu while, do..while trong lập trình C - lập Trình C 11. Tìm hiểu mảng 1 chiều trong C - Lập trình C 12. Tìm hiểu mảng 2 chiều - Lập Trình C 15. Tìm hiểu pointer phần 3 - Lập trình C 14. Tìm hiểu pointer phần 2 - Lập Trình C 13. Tìm hiểu pointer phần 1 - Lập Trình C 16. Tìm hiểu function trong lập trình C - Lập Trình C 17. Tìm hiểu string trong lập trình C - Lập Trình C 18. Struct trong C - Lập Trình C 1000 Bài tập C - Lập Trình C BT02 - Hướng dẫn chữa bài Fibonaci - Lập Trình C BT03. Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động 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

Bài Tập

Bài tập - Chuyển flowchart sang code - Lập trình C Bài tập - Ôn tập biến + kiểu dữ liệu + scanf & printf - Lập trình C Bài tập - Nhập xuất thông tin sinh viên - Lập trình C Bài tập - Giải phương trình bậc 2 - Lập trình C Bài tập - Giải hệ phương trình bậc nhất nhất 2 ẩn - Lập trình C Bài tập - Tìm min & max - số lớn nhất & nhỏ nhất - Lập trình C Loop - Viết chương trình Reserve chuỗi - Lập trình C Loop - Switch case - Chương trình quản lý sinh viên - Lập trình C Fibonacci - Lập trình C Ôn tập While, Do .. While, For lập trình C - Lập trình C Tính tổng mảng N phần tử - Lập trình C Bài tập ôn luyện mảng 1 chiều - Lập trình C Bài tập ôn tập String - Lập trình C Bài tập ôn luyện Function - Lập trình C Tách phần tử chẵn + lẻ trong C - Lập trình mảng trong C - Lập trình C Bài toán sắp xếp trong C - Lập trình C Bài toán pointer đầu tiên - Hello pointer - Lập trình C Bài tập pointer nâng cao - cấp phát động - Lập trình C Bài tập - Quản lý hình chữ nhật - struct trong C - Lập trình C Tìm kiếm chuỗi trong chuỗi - Lập trình C Bài tập FILE - Lập trình C Bài tập - ôn tập nhật xuất và biểu tức toán học - Lập trình C Bài tập - Giải phương trình bậc 1 - giải phương trình bậc nhất - Lập trình C Ôn tập function - viết chương trình máy tính - Lập trình C Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C Bài tập nâng cao pointer - Lập trình C

Examination & Test

[Test] Kiểm tra 60 phút - if, else, switch, loop trong C - Lập trình C [Test] Kiểm tra 60 phút - Lập trình C

Tài Liệu Học

C - Basic Syntax(Cú pháp cơ bản)




[Share Code] Bài tập pointer nâng cao - cấp phát động - Lập trình C

by GokiSoft.com - 08:54 23/12/2020 2,301 Lượt Xem


Bài tập pointer nâng cao - cấp phát động - Lập trình C

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void showMenu();

int main(int argc, char *argv[]) {
	int *t, total = 0, n, choose, i, j;
	int sum = 0;
	
	do {
		showMenu();
		scanf("%d", &choose);
		
		switch(choose) {
			case 1:
				printf("\nNhap so phan tu can them N = ");
				scanf("%d", &n);
				if(total == 0) {
					//cap phat lan dau
					t = (int *) calloc (n, sizeof(int));
					total = n;
				} else {
					total += n;
					t = (int *) realloc (t, total * sizeof(int));
				}
				//Nhap cac phan tu trong mang t: total - n -> total - 1
				for(i=total-n;i<total;i++) {
					printf("\nNhap t[%d] = ", i);
					scanf("%d", t + i);
				}
				break;
			case 2:
				printf("\nDanh sach cac phan tu trong mang\n");
				for(i=0;i<total;i++) {
					printf("%d, ", t[i]);
				}
				break;
			case 3:
				sum = 0;
				for(i=0;i<total;i++) {
					sum += t[i];
				}
				printf("\nTong: %d", sum);
				break;
			case 4:
				//Sap xep cac phan tu trong mang theo thu tu tang dan
				for(i=0;i<total-1;i++) {
					for(j=i+1;j<total;j++) {
						if(t[i] > t[j]) {
							//swap
							int tmp = t[i];
							t[i] = t[j];
							t[j] = tmp;
						}
					}
				}
				break;
			case 5:
				printf("\nGoodbye!!!");
				break;
			default:
				printf("\nNhap sai!!!");
				break;
		}
	} while(choose != 5);
	
	return 0;
}

void showMenu() {
	printf("\n1. Nhap N so nguyen");
	printf("\n2. Hien thi");
	printf("\n3. Tinh tong");
	printf("\n4. Sap xep");
	printf("\n5. Thoat");
	printf("\nChon: ");
}




Bình luận



Chia sẻ từ lớp học

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

Đã sao chép!!!