Đề bài: Viết chương trình C khởi tạo một danh sách gồm các ký tự, thực hiện in ra màn hình các phần tử, in ra phần tử đáy và các phần tử còn lại? Mã: #include<conio.h> #include<stdio.h> struct Stack{ char a; Stack*next; }; Stack*S; void Push(char X,Stack *&S) //Day tung phan tu vao ngan xep { Stack *P; P=new Stack; P->a=X; P->next=S; S=P; } void Pop(char &Y,Stack *&S) //Day tung phan tu ra khoi ngan xep { Stack *P; if(S==NULL) printf("\nNgan xep rong!"); else { Y=S->a; P=S; S=P->next; delete(P); } } void Tao(Stack*&S) //Tao ngan xep { char ch,X; do { printf("\nGia tri: "); fflush(stdin); scanf("%c",&X); Push(X,S); printf("\nDung lai = Y: "); scanf("%s",&ch); } while(ch!='y'); } void Xuat(Stack *S) //Xuat ngan xep { char Y; Stack*P; P=S; while(P!=NULL) { Pop(Y,P); printf("\t%c",Y); } } void Day(Stack *S) //In phan tu day va cac phan tu con lai { char X; Stack *K; K=NULL; while (S!=NULL) { Pop(X,S); Push(X,K); } Pop(X,K); printf("\nDay: %c",X); while(K!=NULL) { Pop(X,K); Push(X,S); } printf("\nSau day:\n"); Xuat(S); } main() { clrscr(); S=NULL; Tao(S); printf("\nNXVT: \n"); Xuat(S); Day(S); getch(); return 1; } File đính kèm (đổi đuôi .TXT thành .CPP nhé):