Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

Đăng Ký

Bạn phải điền đầy đủ thông tin đăng ký!

  

[CTDL VÀ GT] Tạo menu chọn chương trình thuật toán

    Nhân viên

    xuanhoang_14i2

    Bài viết Bài viết : 5

    Danh vọng Danh vọng : 228

    Uy tín Uy tín : 10

    Huy hiệu : iron,goodMod,vip,mod,like

    #1

     Thu Mar 19, 2015 9:44 pm 

    Đề : Tạo 1 bảng chọn công việc cần thực hiện các công việc sau:


    1. Tính giai thừa bằng cách dùng đệ quy
    2. Tính giai thừa bằng cách dùng vòng lặp
    3. Tính số fibonaci



    code bài giải

    Code:

    //c
    #include<stdio.h>
    #include<conio.h>

    int gtdq(int n);
    int gtvl(int n);
    long int fib(int n);

    main(){
     int n,a;
     c:
     fflush(stdin);
     printf("chon cong viec can lam.\n1.tinh giai thua bang cach de quy.\n2.tinh giai thua bang cach dung vong lap.\n3.day so fibonacy.\n");
     scanf("%d",&a);
     if(a>=1&&a<=3){
     b:printf("\n Nhap vao n=");
     scanf("%d",&n);
     switch(a){
     case 1:{
     printf("%d! = %d",n,gtdq(n));
     break;
     }
     case 2:{
     printf("%d! = %d",n,gtvl(n));
     break;
     }
     case 3:{
     if(n<=0){
     printf("\n Ban nhap sai gia tri cua n.Vui long nhap lai");
     goto b;
     }
     else
     printf("\n So fibonacy %d la:%ld",n,fib(n));
     break;
     }
     }
     }else{
     printf("khong co du lieu thuat toan ban chon, vui long ");
     goto c;
     }
    }

    int gtdq(int n){
        if(n==0||n==1)
         return 1;
        else
         return n*gtdq(n-1);
    }

    int gtvl(int n){
     int i,gt;
     if(n==0||n==1){
     return 1;
     }else{
     for(gt=1;n>0;n--){
     gt=gt*n;
     }
     return gt;
     }
    }

    long int fib(int n){
     int i;
     if(n==1||n==2)
     return 1;
     else
     return (fib(n-1)+fib(n-2));
    }
    xuanhoang_14i2
    [You must be registered and logged in to see this link.]
    Bạn không có quyền trả lời bài viết