1. Trang chủ
  2. » Giáo án - Bài giảng

Bài tập C

12 186 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 82,5 KB

Nội dung

bài tập C

LẬP TRÌNH C 1. Bài tập mảng * Tạo các hàm #include <stdio.h> Nhập void Input(int *p, int n){ int i; for(i=0; i<n; i++){ printf("nhap phan tu thu %i: ",i); scanf("%d",&p[i]); } } In void Display(int *p, int n){ int i; for(i=0; i<n; i++) printf("%5d",p[i]); printf("\n"); } Sắp xếp tăng dần/giảm dần void Sort(int *p, int n, int d){ int i, j, tg; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if(d*p[i]>d*p[j]){ tg = p[i]; p[i] = p[j]; p[j] = tg; } } Tìm phần tử lớn nhất/nhỏ nhất int Maxmin(int *p, int n, int d){ int temp, i; temp = p[0]; for(i=1; i<n; i++) if(d*p[i]>d*temp) temp = p[i]; return temp; } Tính tổng các phần tử trong mảng int Sum(int *p, int n){ int s=0,i; for(i=0; i<n; i++) s+=p[i]; return s; } Tính trung bình giá trị các phần tử float Average(int *p, int n){ int s=0,i; for(i=0; i<n; i++) s+=p[i]; return (float)s/n; } Tìm phần tử x có trong mảng không int Search(int *p, int n, int vt, int x){ int i; for(i=vt; i<n; i++) if(p[i]==x) return i; return -1; } Xóa phần tử x có trong mảng int Delete(int *p, int *n, int vt, int x){ int i; vt = Search(p,*n,vt,x); if(vt>-1){ for(i=vt; i<*n-1; i++) p[i] = p[i+1]; *n = *n - 1; } return vt; } Chèn phần tử x vào mảng void Insert(int *p, int *n, int x){ p[*n] = x; *n = *n + 1; } Thay thế phần tử x bằng phần tử y void Replace(int *p, int n, int x, int y){ int i; for(i=0; i<n; i++) if(p[i]==x) p[i]=y; } 2. Kiểm tra xem a,b,c có phải là 3 cạnh của tam giác không? #include <stdio.h> #include <math.h> void main (void) { int a,b,c; printf("nhap vao do dai 3 canh:"); scanf("%d%d%d",&a,&b,&c); if(a<b+c && b<a+c && c<b+a){ printf("%2d%2d%2d la 3 canh cua tam giac\n",a,b,c); if(a==b && b==c && c==a) printf("tam giac deu\n"); else if(a==b || a==c || c==b) printf(" tam giac can\n"); else printf("tam giac thuong\n"); } else printf("khong phai 3 canh tam giac\n"); } 3. Hiển thị trên màn hình Mã|Ký tự bảng mã ASCII #include <stdio.h> #include <conio.h> void main (void){ int ch; for(ch=0; ch<=225;ch++ ){ printf("%c %d\n",ch,ch); if(ch % 22==0) getch(); } } 4. #include <stdio.h> #include <math.h> void main (void){ long n,i; float s; printf("Nhap vao so nguyen duong N:"); scanf("%ld",&n); s=0; for (i=1;i<=n;i++) s = s+i*i; printf("s = %f",sqrt(s)); } 5. #include <stdio.h> #include <math.h> void main (void){ int i,n,s; printf(" nhap vao so nguyen duong n:"); scanf("%d",&n); while(n<=0){ printf("nhap lai"); scanf("%d",&n); } s = 0; for(i=1; i<=n; i++) if(i%2==1) s = s+(2*i+1)*(2*i+1); printf("GTBT la: %d\n",s); } 6. Tính n! #include <stdio.h> #include <math.h> void main (void){ int n,s,i; printf("nhap vao N:"); scanf("%d",&n); s = 1; for(i=n;i>=1;i=i-1) s=s*i; printf("s= %d\n",s); } 7. Kiểm tra số nguyên tố? #include <stdio.h> #include <math.h> #include <conio.h> int n,i,t; printf("nhap vao so nguyen n:"); scanf("%d",&n); if (n<2){ printf("nhap lai:"); scanf("%d",&n); } else for (i==2;i<= sqrt(n)){ t = n%i; if(t!=0) printf("la so nguyen to:"); else printf("khong la nguyen to"); } } 8. Tính biểu thức theo ct Fibonasi #include <stdio.h> #include <math.h> void main(void){ int n,fn,f,s,i; int f0 = 0,f1 = 1; printf("nhap vao so N:"); scanf("%d",&n); while (n<2){ printf("nhap lai:"); scanf("%d",&n); } for (i=1;i<=n;i++) fn = f(i-1)+f(i-2); s = f0+f1+fn; printf("s= %d",s); } Con trỏ Tìm max #include <stdio.h> #include <string.h> void main (void){ int a[100], n, i, max; printf("n="); scanf("%d",&n); for(i=0;i<n;i++){ printf("a[%d]=",i); scanf("%d",a+1); } max = *a; for(i=1;i<n;i++) if(*(a+1)>max) max=*(a+1); printf("max=%d",max); } Con trỏ biến động #include <stdio.h> #include <conio.h> #include <stdlib.h> void main(void){ int *p,max,n,i; printf("n="); scanf("%d",&n); p = malloc(n*sizeof(int)); if(p==NULL){ printf("Khong cap phat duoc bo nho\n"); getch(); exit(0); } for(i=0;i<n;i++){ printf("Nhap phan tu thu %d:",i); scanf("%d",&p+i); } max = *p; for(i=1; i<n; i++) if(*(p+i) > max) max = *(p+i); printf("max=%d\n",max); free(p); } Hàm main – mảng #include <stdio.h> #include <conio.h> #include <stdlib.h> #include "array.h" void main(void){ int a[100], n, temp, key, d, tong, vt, x, y; float tb; do{ system("cls"); printf("1. Nhap vao day so.\n"); printf("2. In day so.\n"); printf("3. Sap xep day so.\n"); printf("4. Tim so lon nhat/nho nhat day so.\n"); printf("5. Tong cac phan tu trong day so.\n"); printf("6. Trung binh cac phan tu trong day so.\n"); printf("7. Tim mot phan tu trong day so.\n"); printf("8. Tim tat ca phan tu trong day so.\n"); printf("9. Xoa mot phan tu trong day so.\n"); printf("A. Xoa tat ca phan tu trong day so.\n"); printf("B. Chen mot phan tu vao cuoi day so.\n"); printf("C. Tim kiem va thay the phan tu trong day so.\n"); printf("Q. Thoat khoi chuong trinh.\n"); key = getch(); switch(key){ case '1': system("cls"); printf("Nhap so phan tu cua day: "); scanf("%d",&n); Input(a,n); printf("Da nhap xong!\n"); getch(); break; case '2': system("cls"); printf("Cac phan tu cua day:\n"); Display(a,n); getch(); break; case '3': system("cls"); printf("Sap xep tang (1)/ sap xep giam (-1)? "); scanf("%d",&d); Sort(a,n,d); printf("Day da sap xep xong!\n"); getch(); break; case '4': system("cls"); printf("Tim so lon nhat (1)/ so nho nhat (-1)? "); scanf("%d",&d); temp = Maxmin(a,n,d); printf("So can tim: %d\n",temp); getch(); break; case '5': system("cls"); tong = Sum(a,n); printf("Tong cac phan tu trong day: %d\n",tong); getch(); break; case '6': system("cls"); tb = Average(a,n); printf("Trung binh cac phan tu trong day: %0.2f\n",tb); getch(); break; case '7': system("cls"); printf("Nhap phan tu can tim: "); scanf("%d",&x); vt = Search(a,n,0,x); if(vt>-1) printf("Tim thay phan tu %d tai vi tri %d\n",x,vt); else printf("Khong tim thay\n"); getch(); break; case '8': system("cls"); printf("Nhap phan tu can tim: "); scanf("%d",&x); vt = Search(a,n,0,x); if(vt==-1) printf("Khong tim thay\n"); else{ printf("Cac vi tri tim thay:\n"); while(vt>-1){ printf("%6d",vt); vt = Search(a,n,vt+1,x); } } getch(); break; case '9': system("cls"); printf("Nhap phan tu can xoa: "); scanf("%d",&x); vt = Delete(a,&n,0,x); if(vt==-1) printf("Khong tim thay\n"); else printf("Da xoa xong!\n"); getch(); break; case 'A': case 'a': system("cls"); printf("Nhap phan tu can xoa: "); scanf("%d",&x); vt = Delete(a,&n,0,x); if(vt==-1) printf("Khong tim thay\n"); else{ while(vt>-1) vt = Delete(a,&n,vt,x); printf("Da xoa xong!\n"); } getch(); break; case 'B': case 'b': system("cls"); printf("Nhap phan tu can chen: "); scanf("%d",&x); Insert(a,&n,x); printf("Da chen xong!\n"); getch(); break; case 'C': case 'c': system("cls"); printf("Nhap phan tu can tim: "); scanf("%d",&x); printf("Nhap phan tu can thay the: "); scanf("%d",&y); Replace(a,n,x,y); printf("Da thay the xong!\n"); getch(); break; case 'Q': case 'q': return; }//end of switch }while(1); //end of do while }// end of program Chuỗi Độ dài chuỗi int Len(char *s){ int i=0; while(s[i]!=0) i++; return i; } Đổi thường thành hoa void Upper(char *s){ int i=0; while(s[i]!=0 && s[i]>='a' && s[i]<='z'){ s[i] = s[i] - 32; . giac ",a,b ,c) ; if(a==b && b= =c && c= =a) printf("tam giac deu "); else if(a==b || a= =c || c= =b) printf(" tam giac can "); else printf("tam giac. thuong "); } else printf("khong phai 3 canh tam giac "); } 3. Hiển thị trên màn hình Mã|Ký tự bảng mã ASCII #include <stdio.h> #include <conio.h> void main (void){ int ch; for(ch=0; ch<=225;ch++ ){ printf(" %c. a,b ,c; printf("nhap vao do dai 3 canh:"); scanf("%d%d%d",&a,&b,& ;c) ; if(a<b +c && b<a +c && c& lt;b+a){ printf("%2d%2d%2d la 3 canh cua

Ngày đăng: 15/05/2014, 10:14

Xem thêm

TỪ KHÓA LIÊN QUAN

w