User Tag List

+ Trả lời chủ đề
Hiện kết quả từ 1 tới 4 của 4

Chủ đề: Bài tập lập trình C

  1. #1
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Bài tập lập trình C

    Xin lập chủ đề này ra để tổng hợp các bài tập lập trình C mà các bạn mới bắt đầu lập trình C hay mắc phải.

    Lưu ý:
    - có thể hỏi đáp, góp ý nhưng phải liên quan đến các bài tập trong chủ đề này
    - nếu muốn hỏi các vấn đề khác về C xin hãy lập 1 topic mới trong box Lập trình C/C++ để tránh loãng chủ đề.

    Bài 1: Cho một dảy số nguyên n phần tử a[0],a[1]..a[n-1] tìm số lớn nhất của dảy. Điều kiện n<100.
    Dử liệu nhập xuất ra màn hình
    PHP Code:
    // cho 1 day so, tim so lon nhat trong day
    #include<conio.h>
    #include<stdio.h>
    int main()
    {
        
    int i,max,n;
        
    int a[100];
        
    printf("nhap n=");scanf("%d",&n);
        
    printf("nhap day so : ");
        
    scanf("%d",&a[1]);
        
    max=a[1];
        for (
    i=1;i<n;i++)
        {
            
    scanf("%d",&a[i]);
            if (
    a[i]>maxmax=a[i];
        }
        
    printf("so lon nhat la: %d",max);
        
    getch();

    Bài 2: Cho một dảy số nguyên n phần tử a[0],a[1]..a[n-1] tìm số âm lớn nhất của dảy. Điều kiện n<100. dử liệu nhập xuất ra màn hình

    PHP Code:
    // cho 1 day so, tim so am  lon nhat trong day
    #include<conio.h>
    #include<stdio.h>
    int main()
    {
        
    int i,max,n;
        
    int a[100];
        
    printf("nhap n=");scanf("%d",&n);
        
    printf("nhap day so : ");
        
    max=0;
        for (
    i=0;i<n;i++)
        {
            
    scanf("%d",&a[i]);
            if (
    a[i]<0max=a[i];
        }
        for (
    i=0;i<n;i++)
        if ((
    a[i]<0)&&(a[i]>max)) max=a[i];
        if (
    max==0printf("\nkhong ton tai so am lon nhat");
        else
        
    printf("\n so am lon nhat la: %d",max);
        
    getch();

    Bài 3: Cho một dảy số nguyên n phần tử a[0],a[1]..a[n-1] sắp xếp tăng dảy số. Điều kiện n<100. dử liệu nhập xuất ra màn hình

    PHP Code:
    //thuat toan noi bot
    #include<conio.h>
    #include<stdio.h>
    int main()
    {
        
    int a[100];
        
    int i,j,n,tg;
        
    printf("nhap n=");scanf("%d",&n);
        
    printf("nhap phan tu");
        for (
    i=0;i<n;i++)
        
    scanf("%d",&a[i]);
        for (
    i=1;i<n;i++)
         for (
    j=0;j<i;j++)
         if (
    a[i]<a[j])
         {
                       
    tg=a[i];
                       
    a[i]=a[j];
                       
    a[j]=tg;
         }
         
    printf("day sau khi sap xep la");
         for (
    i=0;i<n;i++)
         
    printf("%d ",a[i] );
         
    getch();

    Bài 4. Tính giá trị pi qua công thức pi=1-1/3+1/5-1/7+...+(-1)^(n-1)*(2*n-1) với điều kiện dừng khi epsilon<1/(2*n-1), epsilon nhập từ bàn phím

    PHP Code:
    //tinh pi
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
        
    int i,mau;
        
    float epsilon,pi;
        
    printf("nhap epsilon=");scanf("%f",&epsilon);
        
    pi=1;
        
    mau=1;
        
    i=1;
        while ((float)
    1/mau>=epsilon)
        {
              
    i++;
              
    mau=mau+2;
              if (
    i-((int)i/2)*2<epsilonpi=pi-(float)1/mau;
              else
              
    pi=pi+(float)1/mau;
    }
        
    printf("gia tri pi/4 la: %.9f",pi);
        
    getch();

    Các bài trên là 1 số bài của bạn khanhoatink4 ở bên http://svbk.vn/t/42250-Box-Lap-Trinh-C.html

    Tiếp tục 1 số bài khác:

    Bài 5: Mô phỏng nhân bằng tay hai số

    Ví dụ:

    Mã:
    Nhap vao 2 so muon nhan:
    x = 111
    y = 222
            1 1 1
    x
            2 2 2
    --------------------
          0 2 2 2
        0 2 2 2
      0 2 2 2
    ======================
        2 4 6 4 2
    Bài làm:

    PHP Code:
    //mo phong nhan bang tay hai so
    #include<stdio.h>
    #include<conio.h>
    #define MAX 20
    int a[MAX], b[MAX],x,y,kq[MAX][MAX],dapan[MAX];
    int cach,i,j,soa,sob;
    int nhap()                          //ham nhap 2 so de nhan
    {
        
        
    printf("Nhap vao 2 so muon nhan: \n");
        
    printf("x = "); scanf("%d",&x);
        
    printf("y = "); scanf("%d",&y);
        return 
    0;
    }
        
    int tach(int numberint mang[], int &sochuso//ham tach 1 so thanh mang
                                                   // "sochuso" la so chu so cua so can tach
    {
        
    int nguyen=number;
        
    sochuso=0;
        for (
    i=0;;i++)
        {
            
    mang[i]=nguyen%10;
            
    nguyen=nguyen/10;
            
    sochuso++;
            if (
    nguyen==0) break;
            
        }
        return 
    0;
    }
    int nhan(int a[],int soaint b[], int sob//ham mo ta phep nhan
    {
        
    int nho=0,tich=0;
        
        for (
    j=0;j<sob;j++)
        for (
    i=0;i<=soa;i++)
        {
            
    tich a[i] * b[j] + nho;
            
    kq[j][i]=tich%10;
            
    nho=tich/10;
        }
        return 
    0;
    }
    int dau_cach(int so_dau_cach)    //ham tao dau cach de can le
    {
        
    int i;
        for (
    i=1;i<=so_dau_cach;i++) printf("  ");
        return 
    0;
    }

    int main()
    {
        
    /*Nhap va xu li so lieu*/
        
    nhap();    
        
    tach(x,a,soa);
        
    tach(y,b,sob);
        
    nhan(a,soa,b,sob);    
        
    /*xuat ket qua*/
        
    dau_cach(sob+1);
        for (
    i=soa-1;i>=0;i--) printf("%d ",a[i]);
        
    printf("\n");    
        
    printf("x\n");
        
    dau_cach(soa+1);
        for (
    i=sob-1;i>=0;i--) printf("%d ",b[i]);
        
    printf("\n--------------------\n");
        for (
    i=0,cach=sob;i<sob;i++,cach--)
        {
            
    dau_cach(cach);
            for (
    j=soa;j>=0;j--) printf("%d ",kq[i][j]);
            
    printf("\n");
        }
        
    tach(x*y,dapan,j);
        
    printf("======================\n");
        if (
    j==soa+sobprintf("  "); else printf("    ");
        for (
    i=j-1;i>=0;i--) printf("%d ",dapan[i]);
        
    getch();
        return 
    0;

    Bài 6: Đảo xâu

    PHP Code:
    /*
    - Dao xau
    - VD: abc --> cba
    */
    #include<stdio.h>
    #include<string.h>
    #include<conio.h>
    #define MAX 50
    int main()
    {
        
    char a[MAX], b[MAX];
        
    int i;
        
    /* Nhap xau */
        
    printf("Nhap xau can dao: ");
        
    gets(a);
        
    /* Bat dau dao xau */
        
    for (i=0;i<strlen(a);i++)
            
    b[i]=a[strlen(a)-1-i];
        
    b[strlen(a)]=0/* Tao gia tri NULL ket thuc xau */
        /* Xua xau da dao */
        
    printf("Xau sau khi dao la: ");
        
    puts(b);
        
    getch();
        return 
    0;

    Bài 7: Kiểm tra xem xâu có phải xâu đối xứng hay không.

    PHP Code:
    /*
    Kiem tra xau co doi xung khong
    */
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #define MAX 50
    int main()
    {
        
    char a[MAX];
        
    int i;
        
    printf("Nhap xau: ");
        
    fflush(stdin); gets(a);
        for (
    i=0i<strlen(a)/2i++)
        {
            if (
    a[i]!=a[strlen(a)-1-i])
               break;
        }
        if (
    i==strlen(a)/2)
           
    printf("Xau vua nhap la xau doi xung!\n");
        else
            
    printf("Xau vua nhap khong phai la xau doi xung!\n");
        
    getch();
        return 
    0;

    Contact me:
    Email: sangnd [at] svBK.vn
    Personal website: My Blog | Chat với người lạ
    Facebook Page của Bách Khoa Forum: http://www.facebook.com/svbk.vn

  2. Tớ cảm ơn 1973 đã chia sẻ.


  3. #2
    Khánh Hòa
    Tham gia ngày
    Apr 2010
    Bài gửi
    159

    Mặc định Re: Bài tập lập trình C

    đây là một số bài tập c/c++ cho anh em k55, đang học tin đại cương, mọi người làm rồi cuối tuần mình post code lên http://www.mediafire.com/?dcfitceic51i9s0
    Lần sửa cuối bởi khanhoatink4; 01-11-2011 lúc 08:37 PM

  4. #3
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Re: Bài tập lập trình C

    Bài 8:
    Mã:
    /*
    - nhap mang n so nguyen
    - in ra phan tu xuat hien nhieu nhat
    */
    PHP Code:
    /*
    - nhap mang n so nguyen
    - in ra phan tu xuat hien nhieu nhat
    */
    #include<stdio.h>
    #include<conio.h>
    #define MAX 50
    /*dem so lan xuat hien*/
    int count(int *aint nint x)
    {
        
    int c=1i;
        for (
    i=0;i<n;i++)
            if (
    x==a[i]) c++;
        return 
    c;
    }
    int main()
    {
        
    int a[MAX], ni;
        
    int imaxmax=0;
        do
        {
            
    printf("Nhap so phan tu cua mang N = ");
            
    fflush(stdin); scanf("%d",&n);
            if (
    n<=|| n>MAX)
               
    printf("Nhap sai roi, nhap lai de^!\n");
        } while (
    n<=|| n>MAX);
        for (
    i=0;i<n;i++)
            {
                         
    printf("Phan tu thu %2d = ",i+1);
                         
    fflush(stdin); scanf("%d",&a[i]);
                         if (
    count(a,i,a[i])>max)
                            {
    max=count(a,i,a[i]); imax=i; }
            }
        
    printf("Phan tu xuat hien nhieu nhat trong mang la %d voi %d lan xuat hien.\n",a[imax],max);
        
    getch();
        return 
    0;

    Lần sửa cuối bởi khanhoatink4; 01-11-2011 lúc 08:48 PM

  5. #4
    Khánh Hòa
    Tham gia ngày
    Apr 2010
    Bài gửi
    159

    Mặc định Re: Bài tập lập trình C

    Bài 8: Tớ có cách hơi tốn bộ nhớ nhưng độ phức tạp nhỏ hơn bài c :d

    PHP Code:

    /*
    - nhap mang n so nguyen
    - in ra phan tu xuat hien nhieu nhat
    */
    #include<stdio.h>
    #include<conio.h>
    #define MAX 50
    /*dem so lan xuat hien*/
    int main()
    {
        
    int a[MAX],l[30000];
        
    int imaxmax=0;
        
    int i,j,n;
        do
        {
            
    printf("Nhap so phan tu cua mang N = ");
            
    fflush(stdin); scanf("%d",&n);
            if (
    n<=|| n>MAX)
               
    printf("Nhap sai roi, nhap lai de^!\n");
        } while (
    n<=|| n>MAX);
        for (
    i=0;i<n;i++)
            {
                         
    printf("Phan tu thu %2d = ",i+1);
                         
    fflush(stdin); scanf("%d",&a[i]);
                         
    l[a[i]]++;
            }
        
    imax=0;
        for (
    i=0;i<n;i++)
        {
            if (
    l[a[i]]>max)
            {
                            
    max=l[a[i]];
                            
    imax=a[i];
                            }
                            }
        
        
    printf("Phan tu xuat hien nhieu nhat trong mang la %d voi %d lan xuat hien.\n",imax,max);
        
    getch();
        return 
    0;


+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube