Professional Documents
Culture Documents
cấu trúc
cấu trúc
#include<math.h>
int i;
printf("%d ",L.Elements[i]);
Câu 2
if(x==L.Elements[i]){
return 1;
return 0;
Câu 3
makenullList(*(&L));
int n, x;
scanf("%d",&n);
scanf("%d",&x);
insertList(x,L->Last+1,&(*L));
Câu 4
typedef struct{
ElementType Elements[Maxlength];
Position Last;
}List;
List L;
Câu 5
pL->Last++;
pL->Elements[pL->Last-1]=x;
Câu 6
return 1;
return L.Last+1;
return L.Elements[P-1];
return P+1;
makenullList(pL);
Position P1,P2;
P1=FirstList(L1);
P2=FirstList(L2);
while(P1!=EndList(L1)){
insertSet(Retrieve(P1,L1),pL);
P1=Next(P1,L1);
while(P2!=EndList(L2)){
if(!member(Retrieve(P2,L2),L1)){
insertSet(Retrieve(P2,L2),pL);
P2=Next(P2,L2);
Câu 7
int i;
if(x==L.Elements[i])
return i+1;
Câu 8
makenullList(pL);
if(member(L1.Elements[i],L2)==1){
insertSet(L1.Elements[i],pL);
Câu 9
Position p,q;
p=1;
while (p!=pL->Last+1){
q=p+1;
while (q!=pL->Last+1){
if (pL->Elements[p-1]==pL->Elements[q-1])
deleteList(q,pL);
else
q++;
p++;
Câu 10
if ((P<1) || (P>L->Last))
else if (L->Last==0)
else {
Position Q;
for(Q=P-1;Q<L->Last-1;Q++)
L->Elements[Q]=L->Elements[Q+1];
L->Last--;
Câu 11
Position P;
do {
P=locate(X,*L);
if (P!=L->Last+1)
deleteList(P,L);
} while (P!=L->Last+1);
Câu 12
int i,N;
ElementType X;
makenullList(L);
scanf("%d",&N);
for(i=1;i<=N;i++) {
scanf("%d",&X);
if (!member(X,*L))
insertSet(X,L);
Câu 13
makenullList(L2);
ElementType X;
Position p=1;
while (p!=L1.Last+1){
X=L1.Elements[p-1];
if (X%2==0)
insertList(X,L2->Last+1,L2);
p++;
Câu 14
if (L->Last==Maxlength)
else {
Position Q;
for(Q=L->Last; Q>=P;Q--)
L->Elements[Q]=L->Elements[Q-1];
L->Last++;
L->Elements[P-1]=X;
Câu 15
void erase(ElementType x,List *pL) {
Position P;
P=locate(x,*pL);
if (P!=pL->Last+1)
deleteList(P,pL);
Câu 16
L->Last=0;
Câu 17
void sort(List*pL){
Position p,q;
ElementType temp;
for(p=1;p<pL->Last;p++)
for(q=p+1;q<=pL->Last;q++)
if(pL->Elements[p-1]>pL->Elements[q-1]){
temp=pL->Elements[p-1];
pL->Elements[p-1]=pL->Elements[q-1];
pL->Elements[q-1]=temp;
Câu 18
makenullList(pL);
Position P;
P=1;
while(P!=L1.Last+1){
if(!member(L1.Elements[P-1],L2))
insertSet(L1.Elements[P-1],pL);
P++;
}
Câu 19
int i,n;
ElementType X;
makenullList(pL);
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&X);
insertList(X,pL->Last+1,pL);
20
int S=0;
Position P=1;
while (P!=L.Last+1){
S += L.Elements[P-1];
P++;
if(S!=0){
return (float)S/L.Last;
else{
return -10000.0000;
21
void printList(List L) {
Position P;
P = 1;
while (P != L.Last+1) {
printf("%d ",L.Elements[P-1]);
P = P+1;
}
printf("\n");
22
pL->Last++;
pL->Elements[pL->Last-1]=x;
23
int i;
for(i=L.Last;i>=0;i--){
if(x==L.Elements[i])
return i+1;
return L.Last+1;
24
makenullList(pL);
Position p=1;
while (p!=L1.Last+1){
if (member(L1.Elements[p-1],L2)){
insertSet(L1.Elements[p-1],pL);
p++;
25
if (pL->Last==Maxlength)
else {
Position Q;
for(Q=pL->Last;Q>P-1;Q--)
pL->Elements[Q]=pL->Elements[Q-1];
pL->Elements[P-1]=X;
pL->Last++;
26
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct Node
ElementType Element;
};
(*pL)->Next=NULL;
Position P=(*pL);
while (P->Next!=NULL)
P=P->Next;
t->Element=X;
t->Next=P->Next;
P->Next=t;
int n;
ElementType X;
scanf("%d", &n);
makenullList(pL);
scanf("%d", &X);
append(X,pL);
Position P=L;
while (P->Next!=NULL){
printf("%d ",P->Next->Element);
P=P->Next;
printf("\n");
if (p->Next!=NULL)
Position t=p->Next;
p->Next = t->Next;
free(t);
{
int Found=0;
Position p=L;
if (x==p->Next->Element) Found=1;
else p=p->Next;
return p;
Position P=locate(X,*pL);
while (P->Next!=NULL){
deleteList(P, pL);
P=locate(X,*pL);
int main(){
List L;
ElementType X;
readList(&L);
printList(L);
scanf("%d",&X);
removeAll(X,&L);
printList(L);
return 0;
27
#include<stdio.h>
#include<stdlib.h>
struct Node{
ElementType Element;
};
typedef struct Node* Position;
//ham
(*pL)->Next=NULL;
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element = x;
t->Next = p->Next;
p->Next = t;
makenullList(&(*pL));
int i, n, x;
scanf("%d", &n);
i=1;
while(i<=n){
scanf("%d", &x);
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element=x;
t->Next=p->Next;
p->Next=t;
i++;
Position p=L;
while(p->Next!=NULL){
p=p->Next;
Position p=(L);
while(p->Next!=NULL){
S+=(p->Next->Element);
p=p->Next;
i++;
if(i!=0){
return (S/i);
else{
return -10000.0;
int main(){
List L1;
makenullList(&L1);
readList(&L1);
printList(L1);
printf("\n%.3f", getAvg(L1));
return 0;
28
#include<stdio.h>
typedef struct{
int x, y;
}diem;
typedef struct{
int n;
diem A[Maxlength];
}Polygon;
29
struct DaThuc{
DonThuc A[Maxlength];
int so_luong;
};
30
#include <stdio.h>
typedef struct {
char MSSV[10];
char HoTen[50];
}SinhVien;
typedef struct{
SinhVien A[40];
int n;
}List;
List L;
31
DanhSach nhap(){
DanhSach L;
L=dsRong();
int N,i;
char ms[10];
char ht[50];
fgets(ms,10,stdin);
if (ms[strlen(ms)-1]=='\n')
ms[strlen(ms)-1]='\0';
strcpy(sv.MSSV,ms);
fgets(ht,50,stdin);
if (ht[strlen(ht)-1]=='\n')
ht[strlen(ht)-1]='\0';
strcpy(sv.HoTen,ht);
scanf("%f%f%f ",&sv.DiemLT,&sv.DiemTH1,&sv.DiemTH2);
if (tim(ms,L)==L.n+1){
chenCuoi(sv,&L);
return L;
32
int p=1;
int found=0;
if (strcmp(L.A[p-1].MSSV,mssv)==0)
found=1;
else
p++;
return p;
33
int p=1;
struct SinhVien s;
while(p!=L.n+1){
s=L.A[p-1];
p++;
34
DanhSach dsRong(){
DanhSach L;
L.n=0;
return L;
35
if (pL->n==0)
else {
int Q;
pL->A[Q] = pL->A[Q+1];
}
pL->n--;
36
int p=1;
float tdiem;
while (p!=L.n+1){
tdiem=L.A[p-1].DiemLT+L.A[p-1].DiemTH1+L.A[p-1].DiemTH2;
if (tdiem>=4){
p++;
37
Position P=locate(X,*pL);
if (P->Next!=NULL)
deleteList(P, pL);
else
38
makenullList(&(*pL));
int i, n, x;
scanf("%d", &n);
i=1;
while(i<=n){
scanf("%d", &x);
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element=x;
t->Next=p->Next;
p->Next=t;
i++;
39
Position P=(*pL);
while (P->Next!=NULL)
P=P->Next;
t->Element=X;
t->Next=P->Next;
P->Next=t;
40
List L;
makenullList(&L);
Position P=L1;
while (P->Next!=NULL){
append(P->Next->Element,&L);
P=P->Next;
P=L2;
while (P->Next!=NULL){
if (!member(P->Next->Element,L))
append(P->Next->Element,&L);
P=P->Next;
return L;
41
makenullList(pL);
Position P=L1;
while (P->Next!=NULL){
if(P->Next->Element%2==0)
append(P->Next->Element,pL);
P=P->Next;
42
List L;
makenullList(&L);
Position P=L1;
while (P->Next!=NULL){
if (member(P->Next->Element,L2))
append(P->Next->Element,&L);
P=P->Next;
return L;
43
int Found=0;
Position P=L;
if (P->Next->Element==X)
Found=1;
else
P=P->Next;
return Found;
44
Position P=locate(X,*pL);
if (P->Next!=NULL)
deleteList(P, pL);
else
45
(*pL)->Next=NULL;
46
Position P,Q;
ElementType temp;
P=(*pL);
while (P->Next!=NULL){
Q=P->Next;
while(Q->Next!=NULL){
if (P->Next->Element>Q->Next->Element){
temp=P->Next->Element;
P->Next->Element=Q->Next->Element;
Q->Next->Element=temp;
Q=Q->Next;
}
P=P->Next;
47
t->Element=X;
t->Next=P->Next;
P->Next=t;
48
#include<stdio.h>
#include<stdlib.h>
struct Node{
ElementType Element;
};
//ham
List readSet();
(*pL)->Next=NULL;
Position P=L;
while(P->Next!=NULL){
if(P->Next->Element==x){
return 1;
break;
else{
P=P->Next;
return 0;
Position p = (*pL);
t->Element = x;
t->Next = p->Next;
p->Next = t;
List readSet(){
List L;
makenullList(&L);
int i, n, x;
scanf("%d", &n);
scanf("%d", &x);
if(member(x,L)==0){
addFirst(x,&L);
}
return L;
Position p=L;
while(p->Next!=NULL){
p=p->Next;
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element = x;
t->Next = p->Next;
p->Next = t;
List L;
makenullList(&L);
Position p;
p=L1;
while(p->Next!=NULL){
if(member(p->Next->Element,L2)!=0){
append(p->Next->Element,&L);
p=p->Next;
return L;
}
int main(){
makenullList(&L1);
makenullList(&L2);
L1 = readSet();
L2 = readSet();
printList(L1);
printf("\n");
printList(L2);
printf("\n");
L = intersection(L1,L2);
printList(L);
return 0;
49
#include<stdio.h>
#include<stdlib.h>
struct Node{
ElementType Element;
};
//ham
(*pL)->Next=NULL;
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element = x;
t->Next = p->Next;
p->Next = t;
makenullList(&(*pL));
int i, n, x;
scanf("%d", &n);
i=1;
while(i<=n){
scanf("%d", &x);
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element=x;
t->Next=p->Next;
p->Next=t;
i++;
}
}
Position p=L;
while(p->Next!=NULL){
p=p->Next;
Position p=(L);
while(p->Next!=NULL){
S+=(p->Next->Element);
p=p->Next;
i++;
if(i!=0){
return (S/i);
else{
return -10000.0;
int main(){
List L1;
makenullList(&L1);
readList(&L1);
printList(L1);
printf("\n%.3f", getAvg(L1));
return 0;
50
#include<stdlib.h>
struct Node{
ElementType Element;
};
//ham
(*pL)->Next=NULL;
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element = x;
t->Next = p->Next;
p->Next = t;
int i, n, x;
scanf("%d", &n);
i=1;
while(i<=n){
scanf("%d", &x);
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element=x;
t->Next=p->Next;
p->Next=t;
i++;
Position p=L;
while(p->Next!=NULL){
p=p->Next;
in
makenullList(&(*pL2));
Position p=L1;
while(p->Next!=NULL){
if(p->Next->Element%2==0){
append(p->Next->Element,&(*pL2));
p=p->Next;
}
int main(){
makenullList(&L1);
makenullList(&L2);
readList(&L1);
printList(L1);
printf("\n");
printOddNumbers(L1);
copyEvenNumbers(L1,&L2);
printf("\n");
printList(L2);
return 0;
Số chẵn, lẻ
51
#include<stdio.h>
#include<stdlib.h>
struct Node{
ElementType Element;
};
//ham
(*pL)->Next=NULL;
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element = x;
t->Next = p->Next;
p->Next = t;
makenullList(&(*pL));
int i, n, x;
scanf("%d", &n);
i=1;
while(i<=n){
scanf("%d", &x);
Position p=(*pL);
while(p->Next!=NULL){
p=p->Next;
t->Element=x;
t->Next=p->Next;
p->Next=t;
i++;
}
void printList(List L){
Position p=L;
while(p->Next!=NULL){
p=p->Next;
int main(){
List L1;
makenullList(&L1);
readList(&L1);
printList(L1);
return 0;
52
List getList(){
List L;
L->Next=NULL;
return L;
53
P=locate(s.ID,(*pL));
if (P->Next!=NULL){
return 0;
else{
temp->Element=s;
temp->Next=NULL;
P->Next=temp;
return 1;
typedef struct
char ID[10];
char Name[50];
}Student;
struct Node
Student Element;
};
55
Hãy HOÀN CHỈNH CHƯƠNG TRÌNH TRÊN bằng cách điền các lệnh cần thiết vào dấu ... (trong hàm
readList()) để tạo thành 1 chương trình có thể thực thi được.
while(p->Next!=NULL){
if(locate(s.ID, L) == p){
p=p->Next;
append(s,&L);
56
while(p->Next!=NULL){
if (p->Next->Next==NULL)
printf("%.3fX^%d",p->Next->e.he_so,p->Next->e.bac);
else
printf("%.3fX^%d + ",p->Next->e.he_so,p->Next->e.bac);
p=p->Next;
printf("\n");
57
DaThuc dt;
DonThuc e;
dt=khoitao();
Position p=D;
while(p->Next!=NULL){
e=p->Next->e;
e.he_so *= e.bac;
e.bac--;
chenDonThuc(e,&dt);
p=p->Next;
return dt;
58
DaThuc d;
d=khoitao();
Position p=D1;
while (p->Next!=NULL){
chenDonThuc(p->Next->e,&d);
p=p->Next;
}
p=D2;
while (p->Next!=NULL){
chenDonThuc(p->Next->e,&d);
p=p->Next;
return d;