[25.03.20] Bài tập cấu trúc for trong C/C++

[25.03.20]  Bài tập cấu trúc for trong C/C++

Bài 1: Viết chương trình:
- Nhập vào số nguyên n >20
- Tính tổng các số chẵn < n
- Đếm có số lẻ <n.

---------------


/*
Bài 1: Viết chương trình:
- Nhập vào số nguyên n >20
- Tính tổng các số chẵn < n
- Đếm có số lẻ <n.
*/

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

using namespace std;

// Ham chinh
int main(){
    int n;
    // nhap n >20
    cout<<"\n Nhap n: ";
    cin>>n;
    for(;n<=20;)
    {
        cout<<"\n Nhap lai n! \n Nhap n: ";
        cin>>n;

    }
    // Tinh tong cac so chan
    int tongSoChan =0;
    for(int i=0;i<=n;i=i+2)
        tongSoChan=tongSoChan+i;
    cout<<"\n * Tong so chan: "<<tongSoChan;
    // Dem so le
    int demSoLe=0;
    for(int i=1;i<=n;i=i+2)
        demSoLe++;
    cout<<"\n * So so le dem duoc: "<<demSoLe;
    
    cout<<"\n - END - \n ";
    return 0;
}

Ket qua:


---------------

Bài 2: Viết chương trình
- In ra tất cả số nguyên dương có 3 chữ số là số chẵn
- Đếm tất cả các số nguyên dương có 3 chữ số sao cho tổng các chữ số của nó luôn là số lẻ.


---------------


/*
 Bài 2: Viết chương trình
 - In ra tất cả số nguyên dương có 3 chữ số là số chẵn
 - Đếm tất cả các số nguyên dương có 3 chữ số sao cho tổng các chữ số của nó luôn là số lẻ.
*/

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

using namespace std;

// Ham chinh
int main(){
    int n;
    // in ra tat ca so nguyen duong co 3 chu so la so chan
    cout<<"\n * In so so chan: \n";
    for(int i=100;i<=999;i++)
        if(i%2==0) cout<<i<<" ; ";
    
    //Dem so co 3 chu so co tong la so le
    int dem=0;
    for(int i=100;i<=999;i++)
     if((i/100+(i/10)%10+i%10)%2!=0)
         dem++;
    cout<<"\n * Dem so co 3 chu so co tong la so le: "<< dem;
    
    cout<<"\n - END - \n ";
    return 0;
}

---------------
Ket qua:



*** bài tập nâng cao: bài 17, 18 (bài giảng KTLT)
17. Viết chương trình tính các tổng sau:
a) S=1 + 2 + ... + n
b) S=1/2 + 2/3 + ... +n/(n+1)
c) S= - 1 +2 - 3 +4 - ... + (-1)^n*n

---------------

/*
 17. Viết chương trình tính các tổng sau:
 a) S=1 + 2 + ... + n
 b) S=1/2 + 2/3 + ... +n/(n+1)
 c) S= - 1 +2 - 3 +4 - ... + (-1)^n*n
 */

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

using namespace std;

// Ham chinh
int main(){
    int n;
    // nhap n bat ky
    cout<<"\n Nhap n: ";
    cin>>n;
    
    // a) tinh S1 = 1+2+3+...+n
    
    int s1=0;
    for(int i=1;i<=n;i++)
        s1=s1+i;
    cout<<"\n a) S = "<<s1;
    
    // b) S=1/2 + 2/3 + ... +n/(n+1)
    
    float s2=0;
    for(int i=1;i<=n;i++)
        s2=s2+ (float)i/(i+1);
    cout<<"\n b) S = "<<s2;
    
    
    // c) S= - 1 +2 - 3 +4 - ... + (-1)^n*n
    
    float s3=0;
    int dau=-1;
    for(int i=1;i<=n;i++)
    {
        s3=s3+ dau*i;
        dau=-dau;
    }
    cout<<"\n c) S = "<<s3;
    
    
    cout<<"\n - END - \n ";
    return 0;
}


---------------
Ket qua:


18. Viết chương trình nhập vào một dãy n số, tìm số lớn nhất của dãy và xác định vị trí của số lớn nhất trong dãy.


---------------

/*
18. Viết chương trình nhập vào một dãy n số, tìm số lớn nhất của dãy và xác định vị trí của số lớn nhất trong dãy.
 */

#include<iostream>
#include<stdio.h>
#define Max 100

using namespace std;

// Ham chinh
int main(){
    // khai bao bien
    int a[Max],n;
    // nhap so phan tu n
    cout<<"\n Nhap n: ";
    cin>>n;
    // Nhap day so
    cout<<"\n Nhap day so: ";
    for(int i=0;i<n;i++)
    {
        cout<<"\n a["<<i<<"]=";
        cin>>a[i];
    }
    // Tim so lon nhat trong day
    int max=a[0];
    for(int i=1;i<n;i++)
        if(max<a[i]) max=a[i];
    cout<<"\n * So lon nhat la: "<< max;
    
    // Tim vi tri cua so lon nhat
    cout<<"\n * Vi tri cua so lon nhat: ";
    for(int i=1;i<n;i++)
        if(max==a[i])
            cout<<i<<", ";
    
    
    cout<<"\n - END - \n ";
    return 0;
}


---------------

Ket qua: