Bài tập lập trình C/C++

Bài tập thực hành Ca 2 (06.11.19) (Bài tập Ca 1 làm tương tự)

Bài 1: Viết chương trình thực hiện
Nhập vào từ bàn phím 4 số thực a, b, c, d bất kỳ
Tính giá trị trung bình cộng của 4 số
Tìm số nhỏ nhất trong 4 số
Tính giá trị biểu thức x=(5b+√(〖|b〗^2-ac|))/(|2d-c|+2)
Bài 2: Viết chương trình thực hiện
Nhập vào từ bản phím số nguyên n (thỏa mãn 1<= n<=200)
In ra màn các số lẻ <= n
Tính tổng các số chẵn <=n
Đếm số lần xuất hiện của các số là bội của 4 7
In ra tất cả số nguyên tố <n  
Bài 3: Viết chương trình tính
  S= 1+1x/1!+(2x^2)/2!+…+(nx^n)/n!

(n là số nguyên thỏa mãn 1<n<1000, x là số thực nhập vào từ bàn phím).


----------------------------------------
Cod DevC++
Bài 1; Bài 2 ý 2, 3, 4 SV tự làm 
---------------------------------------


/* Bai 2:
   - Nhập n thỏa mãn
   - In ra số nguyên tố < n
 */
// khai bao thu vien ham
#include<math.h>
#include <iostream>

using namespace std;

int main()
{
    int n;
    // Nhap n
    do{
        cout<<"\n Nhap n: ";
        cin>>n;
        if (n<1||n>200)
            cout<<"\n Nhap lai n! ";
    }while(n<1||n>200);
    
    // In tat ca so nguyen to < n
    
    cout<<"\n * IN SO NGUYEN TO: ";
   
   
    for(int i=1;i<=n; i++){
        if(i==1||i==2||i==3)
            cout<<i<<", ";
        else{
            int test = 0;
            for(int j=2;j<i;j++)
                if(i%j==0) {
                    test=1;
                    break;
            }
            if(test==0) cout<<i<<", ";
        }
    }
    return 0;
}

Tài liệu bài giảng miễn phí


/* Bài 3: Viết chương trình tính
 S= 1+1x/1!+(2x^2)/2!+…+(nx^n)/n!
 (n là số nguyên thỏa mãn 1<n<1000, x là số thực nhập vào từ bàn phím).
 */

// khai bao thu vien ham
#include<math.h>
#include <iostream>

using namespace std;

int main()
{
    int n;
    float x;
    // Nhap n
    do{
        cout<<"\n Nhap n: ";
        cin>>n;
        if (n<=1||n>=1000)
            cout<<"\n Nhap lai n! ";
    }while(n<=1||n>=1000);
    
    // Nhap x
    cout<<"\n Nhap x: ";
    cin>>x;
    
    // Tinh s
    float s=1.0;
    int i=1;
    while(i<=n)
    {
        float tu = i*pow(x,i);
        float mau=1;
        // tinh giai thua cua i
        for(int j=1;j<=i;j++)
            mau=mau*i;
        s=s+tu/mau;
        i++;
    }
    cout<<"\n S = "<<s;
    cout<<"\n END. \n";
    return 0;
}


***
Giáo Trình C++ Và Lập Trình Hướng Đối Tượng [Tiki]
Ebook: Tự học lập trình C/C++ [Kobo]


***************************



Bài tập ngày 01.11.19

/*
 Câu 1: Viết chương trình (8đ)
 Nhập vào từ bàn phím số nguyên dương n ( n<2019) (1đ)
 In ra tất cả số lẻ <n (2đ)
 Tính tổng các giá trị <=n (2đ)
 Đếm số chẵn <n (2đ)
 Đếm số số nguyên tố <=n (1đ)


 */

// khai bao thu vien ham
#include<math.h>
#include <iostream>


using namespace std;

int main() {
    int n;
    // Nhap n
    cout<<"\n Nhap n: ";
    cin>>n;
    if(n<0||n>=2019)
        cout<<"\n Nhap lai n!";
    else
    {
        // In ra tất cả số lẻ <n
        cout<<"\n In so le: ";
        for(int i=1;i<n;i=i+2)
            cout<<i<<", ";
        
        //Tính tổng các giá trị <=n
        int tong=0;
        for(int i=0;i<=n;i++)
            tong=tong+i;
        cout<<"\n Tong = "<<tong;
        
        //Đếm số chẵn <n
        int dem=0;
        for(int i=0; i<n;i=i+2)
            dem++;
        cout<<"\n Dem so chan: "<<dem;
        
        //Đếm số số nguyên tố <=n
        int demSNT=0;
        for (int i=1; i<=n ;i++)
        {
            int test = 0;
            for(int j=2;j<i;j++)
                if(i%j==0) test =1;
            if(test==0)
                demSNT++;
        }
        cout<<"\n Dem so nguyen to: "<<demSNT;
        
        
    }
    
    
    return 0;

}

*******************
Bài tập về nhà:

Bài 1. Viêt chương trình thực hiện: In ra tất cả các số nguyên dương gồm 3 chữ số sao cho tổng của chúng là số chẵn

Bài 2: Tính giá trị
 S= 1/2 + 2/3 + ... n/(n+1)
với n là số nguyên dương nhập vào từ bàn phím

*************************************


Bài tập C/C++, ngày 30.11.19


----------
Code [Cập nhật sau ngày 15h00 thứ 6 ngày 01.11.19...] 
----------

-------------------------
Code DevC++         
-------------------------


// khai bao thu vien ham

#include<math.h>
#include <iostream>

using namespace std;

// khai bao bien toan cuc
int n,m;
float a,b;

// dinh nghia cac ham
void Nhap();
long GiaiThua(int);
int C(int,int);
int A(int,int);
float S(float,float);
void InKetQua();

// ham main
int main() {
    Nhap();
    InKetQua();
    return 0;
}

// Ham nhap
void Nhap(){
    // Nhap m,n,a,b
    do{
        cout<<"\n Nhap m: ";
        cin>>m;
        if(m<1||m>=1000)
            cout<<"\n Nhap lai m!";
    }while(m<1||m>=1000);
    
    do{
        cout<<"\n Nhap n: ";
        cin>>n;
        if(n<m||n>=1000)
            cout<<"\n Nhap lai n!";
    }while(n<m||n>=1000);
    
    cout<<"\n Nhap a: ";
    cin>>a;
    
    do{
        cout<<"\n Nhap b: ";
        cin>>b;
        if(b==0)
            cout<<"\n Nhap lai b!";
    }while(b==0);
}
// Ham tinh giai thua
long GiaiThua(int k){
    long gt=1;
    for(int i=1;i<=k;i++)
        gt*=i;
    return gt;
}

// Ham tinh C(m,n)
int C(int m,int n){
    int toHop;
    toHop=(int)(GiaiThua(n)/(GiaiThua(m)*GiaiThua(n-m)));
    return toHop;
}

// Ham tinh A(m,n)
int A(int m, int n){
    int chinhHop;
    chinhHop= (int)(GiaiThua(n)/GiaiThua(n-m));
    return chinhHop;
}
// Ham tinh S
float S(float a, float b){
    float tong=0;
    for(int i=1;i<=n+m;i++)
        tong=(float) (pow(a,i)/pow(b,i));
    return tong;
}

// Ham InKetQua
void InKetQua(){
    cout<<"\n IN KET QUA: \n";
    cout<<"\n + To hop C("<<m<<","<<n<<")="<<C(m,n);
    cout<<"\n + Chinh hop A("<<m<<","<<n<<")="<<A(m,n);
    cout<<"\n + Tong S= "<<S(a,b);
    cout<<"\n END. \n";


}



***
Giáo Trình C++ Và Lập Trình Hướng Đối Tượng [Tiki]
Ebook: Tự học lập trình C/C++ [Kobo]

***************************


Bài tập C/C+++, ngày 25.10.19

Viết chương trình:
1. Nhập từ bàn phím các số nguyên a, b, c, d, e
2. Tìm số chẵn dương trong 5 số
3. Tìm số nhỏ nhất
4. Tìm số lớn nhất
5. Tìm UCLN của |a+b| và |c+d+e| *



// khai bao thu vien ham
#include<math.h>
#include <iostream>


using namespace std;

int main() {
   // khai bao bien
    int a,b,c,d,e;
//1. Nhap 5 so nguyen
    cout<<"\n 1. Moi ban nhap 5 so nguyen: ";
    cin>>a>>b>>c>>d>>e;
    
//2. Tim so chan duong
    cout<<"\n 2. Tim so chan duong: ";
    if(a>0&&a%2==0)
        cout<<a<<", ";
    if(b>0&&b%2==0)
        cout<<b<<", ";
    if(c>0&&c%2==0)
        cout<<c<<", ";
    if(d>0&&d%2==0)
        cout<<d<<", ";
    if(e>0&&e%2==0)
        cout<<e<<", ";
//3. Tim min
    int min=a;
    if(min>b)
        min=b;
    if(min>c)
        min=c;
    if(min>d)
        min=d;
    if(min>e)
        min=e;
    cout<<"\n 3. Min = "<<min;
    
//4. Tim max
    int max=a;
    if(max<b)
        max=b;
    if(max<c)
        max=c;
    if(max<d)
        max=d;
    if(max<e)
        max=e;
    cout<<"\n 4. Max = "<<max;

//5. Tim UCLN |a+b| va |c+d+e|
    int s1=abs(a+b); // tinh tri tuyet doi
    int s2=abs(c+d+e);
    cout<<"\n s1="<<s1<<"; s2="<<s2;
    // tim UCLN cua s1 va s2
    while (s1!=s2)
    {
        if(s1>s2)
            s1=s1-s2;
        else
            s2=s2-s1;
    }
    cout<<"\n 5. UCLN: "<<s1 <<"\n\n Chuc may man ! \n Hen gap lai.\n";
    
    return 0;

}

///////////
Bài tập về nhà:
Viết chương trình:
- Nhập vào từ bàn phím điểm thi các môn toán, lý, hoa
- Tính điểm trung bình cộng của 3 môn
- In ra xếp loại học lực




***
Giáo Trình C++ Và Lập Trình Hướng Đối Tượng [Tiki]
Ebook: Tự học lập trình C/C++ [Kobo]

***************************

Bài tập C/C++ (test 1h- Cấu trúc điều khiển, 23.10.19)

Viết chương trình thực hiện:

1- Nhập từ bàn phím 3 số thực x, y, z bất kỳ; 1 số nguyên n (thỏa mãn 1 < n < 100).

2- Kiểm tra x, y, z có phải là 3 cạnh của tam giác không. Tính chu vi, diện tích tam giác, trong trường hợp thỏa mãn 3 cạnh tam giác

3- Tính tổng các số chẵn <= 2n 

    s1= 2+ 4 + 6 + … + 2n

4- Tính biểu thức 

   s2= x / (y+z) + x^2 / (y^2 + z^2) + … + x^n / (y^n + z^n) 


--------------------------------
Code [Dev C++ / Code X]
--------------------------------


#include<math.h>
#include <iostream>
using namespace std;

int main() {
   // khai bao
    float x,y,z;
    int n;
//1. nhap
    cout<<"\n NHAP DU LIEU: ";
    cout<<"\n + Nhap x: ";
    cin>>x;
    cout<<"\n + Nhap y: ";
    cin>>y;
    cout<<"\n + Nhap z: ";
    cin>>z;
    
    do{
        cout<<"\n + Nhap n: ";
        cin>>n;
        if(n<=1||n>=100)
            cout<<"\n Nhap lai n!";
    }while (n<=1||n>=100);
    
//2. Tinh chu vi dien tich tam giac
    if(x>0&&y>0&&z>0&&x+y>z&&x+z>y&&y+z>x)
    {
        cout<<"\n "<<x<<", "<<y<<", "<<z<<" la 3 canh tam giac. ";
        // tinh chu vi, dien tich
        float cv=x+y+z;
        float p=cv/2;
        float s= sqrt(p*(p-x)*(p-y)*(p-z));
        cout<<"\n + Chu vi: "<< cv<<"\n + Dien tich: "<< s;
    }
    else
        cout<<"\n "<<x<<", "<<y<<", "<<z<<" KHONG PHAI 3 canh tam giac. ";

//3. Tinh tong so chan
    long s1=0;
    for(int i=2;i<=2*n;i=i+2)
        s1=s1+i;
    cout<<"\n + Tong chan: "<< s1;
    
//4. Tinh tong s2
    float s2=0;
    int i=1, test=0;
    while(i<=n){
        float tu, mau;
        tu=(float)pow(x,i); // x^i
        mau=(float)(pow(y,i)+pow(z,i));
        if(mau!=0)
            s2=s2+tu/mau;
        else
        {
            cout<<"\n Du lieu khong hop le !!! ";
            test=1;
            break;
        }
        i++;
    }
    if(test==0)
        cout<<"\n + s2 = "<<s2;
    
    return 0;
}


-----------------------------------------------
Bài tập bổ sung

Viết chương trình thực hiện:
1- Nhập vào từ bàn phím số thực x bất kỳ, số nguyên chẵn n (thỏa mãn 2<=n<=102).
2- Tính giá trị các biểu thức
 s1 = 1+3+5+... + (2n+1)
 s2 = 2! + 4!+ ... + n!
 s3 =  x^1 / 1! + x^3 / 3! + ... + x^n-1 / (n-1)! 

>> Link nộp bài tập: https://forms.gle/RKFE5e6A8EncSiYS8
Bài tập nộp trước 15h00, 23.10.19 

***
Giáo Trình C++ Và Lập Trình Hướng Đối Tượng [Tiki]
Ebook: Tự học lập trình C/C++ [Kobo]

***************************

Bài tập C/C++ (xử lý chuỗi) - 07.12.18

/* Viết các hàm:
 - Nhập vào một chuỗi bất kỳ
 - Loại bỏ các dấu cách ở đầu và ờ cuối
 - Đếm số ký tự trong chuỗi
 - Kiểm tra tính đối xứng của chuỗi
 - In mỗi từ 1 dòng, Đếm số tử trong chuỗi
 */

#include <iostream>
#include <stdio.h>
#include <math.h>

using namespace std;
char str[100];
int n;

// Nhap chuoi
void NhapChuoi(){
    cout<<"\n Nhap chuoi bat ky: ";
    cin.get(str,99);
}
// Loai bo dau cach o dau va cuoi
void XoaDauCach(){
    // Xoa dau cach o dau
    int demDau=0, i=0;
    while (str[i]==' '){
        demDau++;
        i++;
    }
    cout<<"\n So dau cach o dau: "<<demDau;
    // Xoa dau cach
    i=0;
    if(demDau!=0){
        while(i<n){
            str[i]=str[i+demDau];
            str[i+demDau]=' ';
            i++;
        }
    }
    cout<<"\n In chuoi: "<< str;
    
    
    // Xoa dau cach o cuoi
    n=strlen(str);
    
    int demCuoi=0, j=n-1;
    while(str[j]==' '){
        demCuoi++;
        j--;
    }
    cout<<"\n So dau cach o cuoi: "<<demCuoi;
    
    //str[n-demCuoi-1]='\0';
    n=n-demCuoi;
}

// Dem so ky tu trong chuoi
void DemKyTu(){
    cout<<"\n So ky tu trong chuoi: "<<strlen(str);
}

// Kiem tra tinh doi xung
void KiemTraDoiXung(){
    
    int test=0,dau=0,cuoi=n-1;
    while(dau<=cuoi){
        if(str[dau]!=str[cuoi])
        {
            test=1;
            break;
        }
        dau++;
        cuoi--;
    }
    if(test==0) cout<<"\n Chuoi doi xung \n ";
    else cout<<"\n Chuoi khong doi xung \n ";
}

// In moi tu 1 dong
void InMoiTuMotDong(){
    int dem=0, i=0; // lay do dai chuoi
    while(i<n)
    {
        cout<<str[i];
        int t=0;
        while (str[i]==' '&&i<n) {
            t=1; i++;
        }
        
        if(t==1)
        {
            dem++;
            cout<<"\n";
            cout<<str[i];
        }
        i++;
        
    }
    if(str[0]==' ') dem--;
    if(str[n-1]==' ') dem--;
    cout<<"\n So tu trong chuoi: "<<dem+1<<"\n";
}

// ham chinh
int main() {
    NhapChuoi();
    XoaDauCach();
    DemKyTu();
    KiemTraDoiXung();
    InMoiTuMotDong();
    
    return 0;
}






***************************************

Ngày 07.03.2018
// Turbo C++ 3.0

/********************************************
Bài 1-Ca1: Viết chương trình:
- Nhập vào từ bàn phím 5 số thực
- Tính tổng các số
- Tính giá trị trung bình cộng
- Tìm max
*********************************************/



#include <iostream.h>
#include<conio.h>
#include<stdio.h>

//using namespace std;

int main()
{
    cout<<"Chua bai 1 - ca1";

    // khai bao bien
    float a1, a2, a3, a4, a5;

    // nhap 5 so
    cout<<"\n a1: "; cin>>a1;
    cout<<"\n a2: "; cin>>a2;
    cout<<"\n a3: "; cin>>a3;
    cout<<"\n a4: "; cin>>a4;
    cout<<"\n a5: "; cin>>a5;

    // Tinh tong
    float tong= a1+a2+a3+a4+a5;
    cout<<"\n Tong ="<<tong;

    // Tinh gia tri trung binh cong
    float tbc = tong/5;
    cout<<"\n Trung binh cong: "<<tbc;

    // Tim so lon nhat
    float max=a1;
    if(max<a2) max=a2;
    if(max<a3) max=a3;
    if(max<a4) max=a4;
    if(max<a5) max=a5;
    cout<<"\n Max= "<<max;
 
    getch();
    return 0;
}



/******************************************************************************
Bài 2-Ca1: Viết chương trình: Giải và biện luận ax^2 + bx + c = 0
 (a, b, c là số thực nhập vào từ bàn phím)
*******************************************************************************/

#include <iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>

//using namespace std;

int main()
{
    cout<<"Chua bai 2 - ca1";

    // khai bao bien
    float a,b,c;

    // nhap 3 so
    cout<<"\n a: "; cin>>a;
    cout<<"\n b: "; cin>>b;
    cout<<"\n c: "; cin>>c;

    // bien luan
    if (a==0)
        if (b==0)
            if(c==0)
             cout<<"\n Phuong trinh co VSN";
            else
             cout<<"\n Phuong trinh vo nghiep";
        else
            cout<<"\n Phuong trinh co 1 nghiem x= "<<-c/b;
    else
    {
        float delta = b*b-4*a*c;
        if(delta==0)
            cout<<"\n Phuong trinh co nghiem kep x1=x2="<<-b/(2*a);
        else
           if(delta<0)
             cout<<"\n Phuong trinh vo nghiep";
           else
            {
              cout<<"\n Phuong trinh co 2 nghiem:";
              cout<<" x1 = "<< (-b-sqrt(delta))/(2*a);
              cout<<"; x2 = "<< (-b+sqrt(delta))/(2*a);
            }
    }
 
    getch();
    return 0;
}



/******************************

Bài 1-Ca2: Viết chương trình:
- Nhập vào từ bàn phím điểm tổng kết 4 năm học
- Tính giá trị trung bình cộng
- Tìm max, min
*******************************/

#include <iostream.h>
#include<conio.h>
#include<stdio.h>

//using namespace std;



int main()
{
    cout<<"Chua bai 1 - ca2";

    // khai bao bien
    float d1, d2, d3, d4;

    // nhap diem 4 nam
    cout<<"\n Diem nam 1: "; cin>>d1;
    cout<<"\n Diem nam 2: "; cin>>d2;
    cout<<"\n Diem nam 3: "; cin>>d3;
    cout<<"\n Diem nam 4: "; cin>>d4;

    // Tinh tong diem
    float tong= d1+d2+d3+d4;
    cout<<"\n Tong ="<<tong;

    // Tinh diem trung binh cong
    float tbc = tong/4;
    cout<<"\n Trung binh cong: "<<tbc;

    // Tim diem lon nhat
    float max=d1;
    if(max<d2) max=d2;
    if(max<d3) max=d3;
    if(max<d4) max=d4;
    cout<<"\n Diem max= "<<max;

 // Tim diem nho nhat

    float min=d1;
    if(min>d2) min=d2;
    if(min>d3) min=d3;
    if(min>d4) min=d4;
    cout<<"\n Diem min= "<<min;

    getch();
    return 0;

}






/************************************
Bài 2-Ca2: Viết chương trình: Giải và biện luận hệ phương trình bậc nhất 2 ẩn
************************************/

#include <iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>

//using namespace std;

int main()
{
    cout<<"Chua bai 2 - ca2";

    // khai bao bien
    float a1,b1,c1,a2,b2,c2;

    // nhap he so
    cout<<"\n a1: "; cin>>a1;
    cout<<"\n b1: "; cin>>b1;
    cout<<"\n c1: "; cin>>c1;
    cout<<"\n a2: "; cin>>a2;
    cout<<"\n b2: "; cin>>b2;
    cout<<"\n c2: "; cin>>c2;

    // tinh d, dx, dy
    float d, dx, dy;
    d= a1*b2-a2*b1;
    dx=c1*b2-c2*b1;
    dy=a1*c2-a2*c1;
 
 
    // bien luan
    if(d==0)
        if(dx==0&&dy==0)
            cout<<"\n He phuong trinh co VSN";
        else
            cout<<"\n He phuong trinh vo nghiem";
    else
     {
         float x= dx/d;
         float y = dy/d;
         cout<<"\n He PT co 1 cap nghiem ("<<x<<" , "<<y<<") ";
     }
 
    getch();
    return 0;
}



--------------------------------------------------------------------------------------------
>> Giáo Trình C++ Và Lập Trình Hướng Đối Tượng


* Công cụ viết chương trình online Tại đây
* Tự học lập trình C/ C++ Tại đây