Một số bài mẫu chương 5 - CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT | Trường Đại học Bách khoa Hà Nội
Viết hàm kiểm tra xem xâu vừa nhập vào từ bàn phím có đối xứng hay không. Nếu xâu đối thì trả về giá trị 1, ngược lại thì trả về giá trị 0. duyệt theo thứ tự giữa ta được biểu thức tiền tố. Tài liệu được sưu tầm, giúp bạn ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!
Môn: Cấu trúc dữ liệu và giải thuật (ET2100)
Trường: Đại học Bách Khoa Hà Nội
Thông tin:
Tác giả:
Preview text:
Một số bài mẫu chương 5
Bài 1: Hàm tính chu vi của tam giác với đầu vào là độ dài 3 cạnh a, b, c. Hàm trả về giá trị 0 nếu tham số
đầu vào không thỏa mãn. GIAI
float tinhChuVi(float a, float b, float c) {
if(a+b>c && b+c>a && c+a>b)
return a+b+c; //tra ve chu vi else
return 0;//dau vao khong hop le }
Bài 2: Viết hàm giải phương trình bậc nhất ax b 0 với tham số đầu vào là giá trị các hệ số. GIAI
void giaiPhuongTrinh(float a, float b) { if(a==0)
if(b==0) printf("Phuong trinh co vo so nghiem.\n");
else printf("Phuong trinh vo nghiem.\n"); else
printf("Phuong trinh co nghiem duy nhat: %f\n",-b/a); }
Bài 3: Xây dựng hàm tính giai thừa cách của một số nguyên
n!! = 135 … n nếu n lẻ
n!! = 246 … n nếu n chẵn GIAI long giaiThuaCach(int n) { long gt=1; int i; if(n%2==0) i=2; else i=1;
for(; i<=n; i=i+2) gt=gt*i; return gt; }
Bài 4: Viết hàm in ra màn hình các phần tử dương trong một dãy số thực gồm n phần tử GIAI
void inptDuong(float A[], int n) { int i; for(i=0; i
if(A[i]>0) printf("%.2f ",A[i]); printf("\n"); }
Bài 5: Viết chương trình in giá trị các phần tử nằm bên trên đường chéo chính của ma trân kích thước 5x5. GIAI void inDC(float A[5][5]) { int i,j; for(i=0;i<5;i++){ for(j=i+1; j<5; j++) printf("%.2f\t",A[i][j]); printf("\n"); } }
Bài 6: Viết hàm kiểm tra xem xâu vừa nhập vào từ bàn phím có đối xứng hay không. Nếu xâu đối
xứng thì trả về giá trị 1, ngược lại thì trả về giá trị 0.
Xâu abcba, abdba là xâu đối xứng
Xâu abBa không phải xâu đối xứng GIAI //tìm chiều dài xâu int strlen(char str[]) { int i=0; while(str[i]!='\0') i++; return i; }
//kiểm tra xâu đối xứng int isPalindrome(char str[]) { int n=strlen(str); int i=0,mid, check=1; mid = n/2;
while(check && i if(str[i]!=str[n-i-1]) check = 0; else i++; return check; }
Bài 7 : Viết hàm xóa các ký tự có giá trị bằng c trong một xâu ký tự. GIAI
void xoaPt(char c, char str[]) { int j,i=0; while(str[i]!='\0') { if(str[i]==c) { j=i+1; while(str[j]!='\0'){ str[j-1]=str[j]; j++; } str[j-1]='\0'; } else i++; } }