intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài tập đề cương Turbo C - Struct, Union, DSLK thuận - nghịch

Chia sẻ: Ptit Ptit | Ngày: | Loại File: DOC | Số trang:15

364
lượt xem
85
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo chuyên ngành công nghệ thông tin - Bài tập đề cương Turbo C.

Chủ đề:
Lưu

Nội dung Text: Bài tập đề cương Turbo C - Struct, Union, DSLK thuận - nghịch

  1. Bài tập đề cương turbo C - HVKTMM Struct – union – DSLK thuận + nghịch. Bài 1. #include #include #include typedef struct slbh { int stt;int dg;int sl;char ten[30];long int tien; }; int i=-1,j,tt,n;char c;char *g[]={"STT","tenhang","Don gia","So luong","Thanh tien"}; struct slbh a[50],swap; void nhapdl(int stt,char ten[30],int *dg,int *sl,long int *tien) { printf("\n nhap mat hang thu %d : ",stt); printf("\n ten hang : ");fflush(stdin);gets(ten); printf("\n don gia : ");scanf("%d",dg); printf("\n so luong : ");scanf("%d",sl); *tien=(long int)(*dg)*(long int)(*sl); } void indl(int stt,char ten[30],int dg,int sl,long int tien) { printf("%3d %30s %10d %10d %10ld \n",stt,ten,dg,sl,tien); } void sapxep() { for(i=0;i
  2. Bài tập đề cương turbo C - HVKTMM scanf("%c",&c); } while (c!='k'); n=i; clrscr(); printf("%d",n); printf("\n\t\t\t SO LIEU BAN HANG"); printf("\n %3s %30s %10s %10s %10s \n",g[0],g[1],g[2],g[3],g[4]); sapxep(); for(i=0;i
  3. Bài tập đề cương turbo C - HVKTMM float M1,M2,M3; printf("NHAP VAO SO THI SINH : "); scanf("%d",&n); for (i=1;i
  4. Bài tập đề cương turbo C - HVKTMM for (i=1;i
  5. Bài tập đề cương turbo C - HVKTMM char ht[20],ch; float x;int tuoihv; void tao_ds(p_hv **first) {int i=0; printf("NHAP DANH SACH SINH VIEN\n"); *first=NULL; //khi danh sach chua co gi do { fflush(stdin); printf("Ho ten sv thu %d:",++i); gets(ht); if(*first==NULL) { *first=(p_hv*)malloc(sizeof(p_hv)); //cap phat vung nho do con tro first tro vao p=*first; // phan tu tiep theo do p tro toi } else { p->tiep=(p_hv*)malloc(sizeof(p_hv)); p=p->tiep; } strcpy(p->ho_ten,ht); p->tiep=NULL; printf("Tuoi :"); scanf("%d",&tuoihv); p->tuoi = tuoihv; printf("Diem trung binh:"); scanf("%f",&x); p->d_tb = x; printf("\n ban co nhap nua hay ko?y/n:\n"); ch=getch(); }while(ch=='y'||ch=='Y'); } void in_ds(p_hv *first) { int i=0; printf(" DANH SACH HOC VIEN\n"); printf(" ==================\n"); printf(" STT HO_TEN TUOI DIEM_TB\n"); p=first; while(p!=NULL) { printf(" %d %s %d %2.2f\n",++i,p->ho_ten,p->tuoi,p->d_tb); 5 Hoàng Đình Vinh AT5B
  6. Bài tập đề cương turbo C - HVKTMM p=p->tiep; } getch(); } void chen_sau(p_hv *first) { fflush(stdin); p=(p_hv*)malloc(sizeof(p_hv)); p->tiep=NULL; printf("\nHo ten sv can chen:"); gets(p->ho_ten); printf("Tuoi :"); scanf("%d",&tuoihv); p->tuoi = tuoihv; printf("Diem trung binh:"); scanf("%f",&x); p->d_tb=x; do{printf("Muon chen vao sau hoc vien nao:"); fflush(stdin); q=first; gets(ht); while((q!=NULL) && strcmpi(q->ho_ten,ht)) q=q->tiep; if(q==NULL) printf("\nKhong tim thay vi tri chen!"); printf("\nCo muon tim tiep hay ko?y/n:\n"); ch=getch();} while(ch=='y'||ch=='Y'); { if(q->tiep==NULL) //tim thay o cuoi ds q->tiep=p; else { p->tiep=q->tiep; q->tiep=p; } } printf("Da chen xong!"); getch(); } void chen_truoc(p_hv *first) { fflush(stdin); p=(p_hv*)malloc(sizeof(p_hv)); p->tiep=NULL; 6 Hoàng Đình Vinh AT5B
  7. Bài tập đề cương turbo C - HVKTMM printf("\nHo ten sv can chen:"); gets(p->ho_ten); printf("Tuoi :"); scanf("%d",&tuoihv); p->tuoi = tuoihv; printf("Diem trung binh:"); scanf("%f",&x); p->d_tb=x; do{printf("Muon chen vao truoc hoc vien nao:"); fflush(stdin); q=first; gets(ht); while((q!=NULL) && strcmpi(q->ho_ten,ht)) q=q->tiep; if(q==NULL) printf("\nKhong tim thay vi tri chen!"); printf("\nCo muon tim tiep hay ko?y/n:\n"); ch=getch(); } while(ch=='y'||ch=='Y'); {r=first; while(r->tiep!=q) r=r->tiep; q=(p_hv*)malloc(sizeof(p_hv)); q->tiep=r->tiep; r->tiep=q; } printf("\n da chen xong"); } void xoa_ds(p_hv **first) { do{ printf("Nhap ho ten nguoi can xoa:"); gets(ht); q=*first; while((q!=NULL)&&strcmpi(q->ho_ten,ht)) { r=q; q=q->tiep; } if(q==NULL) printf("\nKhong tim thay hoc vien can xoa!"); printf("\n ban co can xoa tiep ko?y/n:\n"); ch=getch(); } while(ch=='y'||ch=='Y'); { if(q==NULL) 7 Hoàng Đình Vinh AT5B
  8. Bài tập đề cương turbo C - HVKTMM r->tiep=NULL; else if(q==*first) *first=q->tiep; else r->tiep=q->tiep; free(q); printf("Da xoa xong!"); } getch(); } void main() { do{clrscr(); printf("\n 1.NHAP SV"); printf("\n 2.IN SV"); printf("\n 3.CHEN TRUOC"); printf("\n 4.CHEN SAU"); printf("\n 5.XOA SV"); printf("\n 6.KET THUC"); fflush(stdin); ch=getch(); //ko hien ky tu nhap ra man hinh switch(ch) { case '1': tao_ds(&first); break; case '2': in_ds(first); break; case '3': chen_truoc(first); break; case '4': chen_sau(first); break; case '5': xoa_ds(&first); break; } } while(ch!='6'); } Bài 4. #include #include #include #include typedef struct hoc_vien { char ho_ten[20]; int tuoi; float d_tb; struct hoc_vien *tiep; }p_hv; p_hv *first,*p,*q,*r; 8 Hoàng Đình Vinh AT5B
  9. Bài tập đề cương turbo C - HVKTMM char ht[20],ch; float x;int tuoihv; void tao_ds(p_hv **first) {int i=0; printf("NHAP DANH SACH SINH VIEN\n"); *first=NULL; //khi danh sach chua co gi do { fflush(stdin); printf("Ho ten sv thu %d:",++i); gets(ht); first=NULL; p=(p_hv*)malloc(sizeof(p_hv)); p->tiep=*first; *first=p; strcpy(p->ho_ten,ht); p->tiep=NULL; printf("Tuoi :"); scanf("%d",&tuoihv); p->tuoi = tuoihv; printf("Diem trung binh:"); scanf("%f",&x); p->d_tb = x; printf("\n ban co nhap nua hay ko?y/n:\n"); ch=getch(); }while(ch=='y'||ch=='Y'); } void in_ds(p_hv *first) { int i=0; printf(" DANH SACH HOC VIEN\n"); printf(" ==================\n"); printf(" STT HO_TEN TUOI DIEM_TB\n"); p=first; while(p!=NULL) { printf(" %d %s %d %2.2f\n",++i,p->ho_ten,p->tuoi,p->d_tb); p=p->tiep; } getch(); } void chen_sau(p_hv *first) { 9 Hoàng Đình Vinh AT5B
  10. Bài tập đề cương turbo C - HVKTMM fflush(stdin); p=(p_hv*)malloc(sizeof(p_hv)); p->tiep=NULL; printf("\nHo ten sv can chen:"); gets(p->ho_ten); printf("Tuoi :"); scanf("%d",&tuoihv); p->tuoi = tuoihv; printf("Diem trung binh:"); scanf("%f",&x); p->d_tb=x; do{printf("Muon chen vao sau hoc vien nao:"); fflush(stdin); q=first; gets(ht); while((q!=NULL) && strcmpi(q->ho_ten,ht)) q=q->tiep; if(q==NULL) printf("\nKhong tim thay vi tri chen!"); printf("\nCo muon tim tiep hay ko?y/n:\n"); ch=getch();} while(ch=='y'||ch=='Y'); { if(q->tiep==NULL) //tim thay o cuoi ds q->tiep=p; else { p->tiep=q->tiep; q->tiep=p; } } printf("Da chen xong!"); getch(); } void chen_truoc(p_hv *first) { fflush(stdin); p=(p_hv*)malloc(sizeof(p_hv)); p->tiep=NULL; printf("\nHo ten sv can chen:"); gets(p->ho_ten); printf("Tuoi :"); scanf("%d",&tuoihv); p->tuoi = tuoihv; printf("Diem trung binh:"); scanf("%f",&x); 10 Hoàng Đình Vinh AT5B
  11. Bài tập đề cương turbo C - HVKTMM p->d_tb=x; do{printf("Muon chen vao truoc hoc vien nao:"); fflush(stdin); q=first; gets(ht); while((q!=NULL) && strcmpi(q->ho_ten,ht)) q=q->tiep; if(q==NULL) printf("\nKhong tim thay vi tri chen!"); printf("\nCo muon tim tiep hay ko?y/n:\n"); ch=getch(); } while(ch=='y'||ch=='Y'); {r=first; while(r->tiep!=q) r=r->tiep; q=(p_hv*)malloc(sizeof(p_hv)); q->tiep=r->tiep; r->tiep=q; } printf("\n da chen xong"); } void xoa_ds(p_hv **first) { do{ printf("Nhap ho ten nguoi can xoa:"); gets(ht); q=*first; while((q!=NULL)&&strcmpi(q->ho_ten,ht)) { r=q; q=q->tiep; } if(q==NULL) printf("\nKhong tim thay hoc vien can xoa!"); printf("\n ban co can xoa tiep ko?y/n:\n"); ch=getch(); } while(ch=='y'||ch=='Y'); { if(q==NULL) r->tiep=NULL; else if(q==*first) *first=q->tiep; else r->tiep=q->tiep; free(q); 11 Hoàng Đình Vinh AT5B
  12. Bài tập đề cương turbo C - HVKTMM printf("Da xoa xong!"); } getch(); } void main() { do{clrscr(); printf("\n 1.NHAP SV"); printf("\n 2.IN SV"); printf("\n 3.CHEN TRUOC"); printf("\n 4.CHEN SAU"); printf("\n 5.XOA SV"); printf("\n 6.KET THUC"); fflush(stdin); ch=getch(); //ko hien ky tu nhap ra man hinh switch(ch) { case '1': tao_ds(&first); break; case '2': in_ds(first); break; case '3': chen_truoc(first); break; case '4': chen_sau(first); break; case '5': xoa_ds(&first); break; } } while(ch!='6'); } Bài 5. #include #include #include struct cs { char c; struct cs *next; } ; struct cs *p,*top; void push(int t) { p=(cs *)malloc(sizeof(cs)); if (tc=t; else p->c=t+87; p->next=top;top=p; } char *pop() { char t; if (top==NULL) return(""); 12 Hoàng Đình Vinh AT5B
  13. Bài tập đề cương turbo C - HVKTMM t=top->c; top=top->next; return &t; } void doics(int x,int a) { do { push(x%a); x=x/a; } while (x!=0); } void in() { p=(cs *)malloc(sizeof(cs)); p=top; if (p==NULL) printf("\n danh sach rong..."); else do { if (p->cc); else printf("%c",p->c); p=p->next; } while (p!=NULL); } void main() { int x,a; printf("\n nhap x va a = ");scanf("%d%d",&x,&a); doics(x,a);in(); getch(); } Bài 6. #include #include #include typedef struct node { int t,cn,cd; struct node *tiep; } p_node; p_node *p,*first,*last; void push(int n,int c1,int c2) 13 Hoàng Đình Vinh AT5B
  14. Bài tập đề cương turbo C - HVKTMM { p=(p_node*)malloc(sizeof(p_node)); p->t=n; p->cn=c1; p->cd=c2; if(first==NULL) { first=p; last=p; } else { last->tiep=p; last=p; } last->tiep=NULL; } p_node *pop() { p_node *q; q=first; first=first->tiep; return q; } void chuyen_thap(int n,int c1,int c2,int c3) { if(n==1) push(1,c1,c3); else { chuyen_thap(n-1,c1,c3,c2); push(n,c1,c3); chuyen_thap(n-1,c2,c1,c3); } } void hienkq() { do { p=pop(); printf("\nchuyen tang %d tu cot %d sang cot %d",p->t,p->cn,p->cd); } while (first!=NULL); getch(); } 14 Hoàng Đình Vinh AT5B
  15. Bài tập đề cương turbo C - HVKTMM void main() {int n,c1,c2,c3; printf("nhap so tang can chuyen:"); scanf("%d",&n); chuyen_thap(n,1,2,3); hienkq(); getch(); } To be continue… 15 Hoàng Đình Vinh AT5B
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2