IMG-LOGO
Trang Chủ Chủ Đề Bài tập pointer nâng cao - cấp phát động - Lập trình C
× 1) Bài tập - Chuyển flowchart sang code - Lập trình C 2) Bài tập - Ôn tập biến + kiểu dữ liệu + scanf & printf - Lập trình C 3) Bài tập - Nhập xuất thông tin sinh viên - Lập trình C 4) Bài tập - Giải phương trình bậc 2 - Lập trình C 5) Bài tập - Giải hệ phương trình bậc nhất nhất 2 ẩn - Lập trình C 6) Bài tập - Tìm min & max - số lớn nhất & nhỏ nhất - Lập trình C 7) Loop - Viết chương trình Reserve chuỗi - Lập trình C 8) Loop - Switch case - Chương trình quản lý sinh viên - Lập trình C 9) Fibonacci - Lập trình C 10) Ôn tập While, Do .. While, For lập trình C - Lập trình C 11) Tính tổng mảng N phần tử - Lập trình C 12) Bài tập ôn luyện mảng 1 chiều - Lập trình C 13) Bài tập ôn tập String - Lập trình C 14) Bài tập ôn luyện Function - Lập trình C 15) Tách phần tử chẵn + lẻ trong C - Lập trình mảng trong C - Lập trình C 16) Bài toán sắp xếp trong C - Lập trình C 17) Bài toán pointer đầu tiên - Hello pointer - Lập trình C 18. Bài tập pointer nâng cao - cấp phát động - Lập trình C 19) Bài tập - Quản lý hình chữ nhật - struct trong C - Lập trình C 20) Tìm kiếm chuỗi trong chuỗi - Lập trình C

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

by TRẦN VĂN ĐIỆP - 19:55 17/10/2020 1,645 Lượt Xem

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

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

Nguyễn Hữu Hiếu [T2008A]

Ngày viết: 22:00 01/10/2020



#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 count = 0, choose;
	int n, i, j, temp, *t;
	do {
		showMenu();
		scanf("%d", &choose);
		switch(choose) {
			case 1:				
				printf("\nNhap n = ");
				scanf("%d", &n);
				t = (int *) malloc (n * sizeof(int));
				for(i=0;i<n;i++) {
					printf("\nNhap t[%d]", i+1);
					scanf("%d", t+i);
					count = count + t[i];				
				}
				
				break;
			case 2:
				printf("Cac phan tu trong mang:");
				for(i=0;i<n;i++) {
					printf("%d, ", t[i]);
				}
				break;
			case 3:
				printf("\nTong cac phan tu: %d", count);
				break;
			case 4:
				for(i=0;i<n-1;i++) {
					for(j=i;j<n;j++) {
						if(t[i] > t[j]) {
						temp = t[i];
						t[i] = t[j];
						t[j] = temp;
						}
					
					}
				
				}
				printf("\nCac phan tu sau khi sap xep: ");
				for(i=0;i<n;i++) {
				printf("%d, ", t[i]);
				}
				break;
			case 5:
				printf("\nThoat");
				break;
			default:
				printf("\nNhap sai!!!");
		}
	
	} while(choose != 5);
	
	
	
	
	
	
	
	
	
	return 0;
}

void showMenu() {
	printf("\n1. Nhap vao N so nguyen");
	printf("\n2. Hien thi danh sach cac phan tu trong mang");
	printf("\n3. Tinh tong cac phan tu trong mang");
	printf("\n4. Sap xep tang dan");
	printf("\n5. Thoat");
	printf("\nChon choose: ");
	
}


Trần Thị Khánh Huyền [T2008A]

Ngày viết: 16:29 25/09/2020



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

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

int main(int argc, char *argv[]) {
	int N, i, j, tam, sum;
	int choose;
	int *t;
	do{
		printf("\n1. Nhap vao N so nguyen");
		printf("\n2. Hien thi danh sach cac phan tu trong mang");
		printf("\n3. Tinh tong cac phan tu trong mang");
		printf("\n4. Sap xep cac phan tu trong mang theo thu tu tang dan");
		printf("\nchon so: "); scanf("%d",&choose);
	switch(choose){
		case 1:
			printf("\nNhap vao so nguyen N:");
			scanf("%d",&N);
			t=(int*) malloc (N*sizeof(int));
				printf("\nNhap du lieu cac phan tu trong mang: ");
			for(i=0;i<N;i++){	
			printf("Nhap t[%d]",i);
			scanf("%d", t+i);
			}
			break;	
		case 2:
			for (i=0;i<N;i++){
			printf("\nt[%d] = %d ",i, t[i]);}
			break;
		case 3:
			sum = 0;
			for(i=0;i<N;i++){
				sum = sum + t[i];}
			printf("Tong cac phan tu trong mang la %d", sum);
			break;
		case 4:
			for(i=0;i<N;i++){
				if (t[i]>=t[i+1]){
				for(j=1;j<=N;j++){
					tam = t[i];
					t[i]=t[j];
					t[j]=tam;
				}
			
			}
			}
			printf("cac phan tu thu tu tang dan la:");
			for (i=0;i<N;i++){
				printf("%d", *(t+i));
			}
			break;
		case 5:
			printf("Thoat");
			break;
		default:
		printf("Nhap sai!!!");	
		break;		
			
	}
	}while(choose<=5);
	
	return 0;
}


Triệu Văn Lăng [T2008A]

Ngày viết: 13:34 23/09/2020



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	int  n, i, tong, sx, a, j;
	int *t;
	while(3) {
		printf("\n========MENU========");
		printf("\nnhap 1 de nhap n so nguyen");
		printf("\nnhap 2 de hien thi danh sach cac phan tu trong mang");
		printf("\nnhap 3 de tinh tong cac phan tu trong mang");
		printf("\nnhap 4 de sawp xep cac phan tu theo thu tu tang dan");
		printf("\nnhap 5 de thoat");
		printf("\nmoi chon: "); scanf("%d",&a);
		
	switch(a) {
		case 1:
			printf("\n so phan tu : "); scanf("%d",&n);
			t=(int*) malloc (n*sizeof(int));
			for(i=0;i<n;i++){
				printf("\nnhap t[%d]= ",i);
				scanf("%d",t+i);
			}
			break;
		case 2:
		    for(i=0;i<n;i++) {
				printf("\ndanh sach cac phan tu trong mang la %d ",t[i]);
		     		}	
	        break;
		case 3:
		    tong=0;
			for(i=0;i<n;i++) {
				tong=tong+*(t+i);
				printf("\ntong la %d ",tong);
			}
		case 4:
			
		    for(i=0;i<n-1;i++){
	         	for(j=i+1;j<n;j++) {
		         	if(*(t+i)>*(t+j)) {
			        	sx=*(t+i);
			         	*(t+i)=*(t+j);
			        	*(t+j)=sx;
			}
		}
	}	
		    printf("\ndanh sach mang theo thu tu tang dan ") ;   	
			for(i=0;i<n;i++){
	        	printf("%d", *(t+i));
	}
		    break;
		case 5:
		     exit(0);
		 default: 
		    printf("\nnhap sai moi nhap lai");
		    break;     
	}
	}
	return 0;
}


Nguyễn Xuân Mai [T2008A]

Ngày viết: 20:56 22/09/2020



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

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

int main(int argc, char *argv[]) {
	int N,*t,i,a,tong=0,b,j;
	
	do{
		printf("\n1.Nhap vao so nguyen N \n2.Hien thi danh sach cac phan tu trong mang \n3.Tinh tong cac phan tu trong mang \n4.Sap xep cac phan tu trong mang theo thu tu tang dan \n5.Thoat");
		printf("\nChon Menu so:");
		scanf("%d",&a);
		
		switch(a){
			case 1:
				printf("\nNhap so nguyen N:");
				scanf("%d",&N);
				t = (int *) malloc (N * sizeof(int));
				for(i=0;i<N;i++){
					printf("\nNhap t[%d] = ", i);
					scanf("%d", t + i);
				}
				break;
			case 2:
				for(i=0;i<N;i++){
					printf("\nt[%d] = %d ",i, t[i]);
				}
				break;			
			case 3:
				for(i=0;i<N;i++){
					tong=tong+t[i];	
				}printf("\nTong cac phan tu = %d ",tong);
				break;
			case 4:
				for(i=0;i<=N-1;i++){
					for(j=i+1;j<N;j++){
						if(t[i]>t[j]){
							b = t[i];
							t[i] = t[j];		
							t[j] = b;
						}
					}
				}
				for(i=0;i<=N-1;i++){
					printf("%d ",t[i]);
				}
				break;	
			case 5:
				printf("Thoat");
				break;
			default:
				printf("Nhap lai");
				break;				
		}
	}while(a<=5);


	return 0;
}


hainguyen [T2008A]

Ngày viết: 20:00 22/09/2020



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

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

int main(int argc, char *argv[]) {
	int a, b, c, d, e,num;
	int *p;
	int i;
	while (1) {
		
		printf("\nMenu");
		printf("\n1. Nhap vao N so nguyen.");
		printf("\n2. Hien thi danh sach cac phan tu trong mang.");
		printf("\n3. Tinh tong cac phan tu trong mang.");
		printf("\n4. Sap xep cac phan tu trong mang theo thu tu tang dan.");
		printf("\n5. Exit.");
		printf("\nNhap lua chon: ");
		scanf("%d", &a);
		
		switch(a){
			case 1:
				printf("\nNhap so phan tu : ");
				scanf("%d", &b);
				p = (int *) malloc (b * sizeof(int));
				for(i=0; i<b; i++){
					printf("\nNhap p[%d] = ", i);
					scanf("%d", p + i);
				}
				break;
				fflush(stdin); fflush(stdout);
			case 2:
				for(i=0; i<b; i++){
					printf("\np[%d] = ", i, *(p + i));
				}
			    break;
			case 3:
				num = 0;
				for(i=0; i<b; i++){
					num+= *(p + i);
					printf("\nnum = %d", num);
				}
				break;
			case 4:
				for(i=0; i<b-1; i++){
					c = i;
					for(d = i+1; d<b; d++){
						if(p[c]>p[d]){
							c = d;
						}
					}
					e = c;
					c = p[i];
					p[i] = e;
				}
					
				break;
			case 5:
				printf("\nExit.");
				exit(0);
				
		
		}
	}
	
	return 0;
}


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!!!