Nhập nội dung tìm kiếm

14/03/2023

Bài thực hành lập trình C

NỘI DUNG THỰC HÀNH

Chương 1. Tổng quan về ngôn ngữ C

//1. Khai bao thu vien
#include <stdio.h>
#include <conio.h>

//2. Khai bao hang so (neu co)
#define PI 3.14 //cach 1
const float pi = 3.14; //cach 2

//3. Khai bao bien toan cuc
int a; //bien a co kieu so nguyen
float x; //bien x co kieu so thuc

//4. Ham chinh
int main()
{
	//5. Khai bao bien cuc bo (neu can)
   	int i; 
	float y = 10;
	
	//6. Khoi lenh
	printf("Pi = %f", pi);
	printf("\ny = %f", y);
	
	getch();
    return 0;
}

Chương 2. Các thành phần cơ bản

Bài 1. Viết chương trình xuất ra màn hình dòng chữ “Xin chao ngon ngu C”.


Bài 2. Viết chương trình nhập vào 1 số nguyên, xuất ra màn hình số nguyên vừa nhập.


Bài 3. Viết chương trình tính tổng, hiệu, tích của 2 số nguyên a và b nhập từ bàn phím.



Bài 4. Viết chương trình tính thương của 2 số thực a và b nhập từ bàn phím. Kết quả lấy 1 số lẻ.


Bài 5. Viết chương trình đổi nhiệt đô từ đơn vị Ferarit ra độ C theo công thức: C = (F-32)/1.8


Bài 6. Viết chương trình tính diện tích, chu vi hình tròn với bán kính R nhập từ bàn phím.



Bài 7. Nhập vào 2 số nguyên a,b. Tìm số lớn nhất trong 2 số.

Bài 8. Nhập vào 5 số nguyên. Tính trung bình cộng 5 số đó.

Bài 9. Viết chương trình tính diện tích, chu vi của hình chữ nhật với 2 cạnh a và b nhập từ bàn phím.

Bài 10. Viết chương trình tính diện tích, chu vi của tam giác vuông với 2 cạnh a và b nhập từ bà

Xem lý thuyết: https://www.vnkha.com/2022/02/chuong-2-cac-thanh-phan-co-ban.html

Chương 3. Các lệnh có cấu trúc

Bài 1. Giải phương trình bật nhất ax + b = 0

#include <stdio.h>

int main(){
  int a;
  int b;
  float nghiem;
  
  printf("Nhap a = ");
  scanf("%d", &a);
  printf("Nhap b = ");
  scanf("%d", &b);
    
  if(a == 0) {
    if(b == 0) {
      printf("\nPhuong co vo so nghiem.");
    } else {
      printf("\nPhuong trinh vo nghiem.");
    }
  } 
  else {
      nghiem = (float)-b/a;
      printf("\nPhuong trinh co nghiem: x = %0.2f",nghiem);
  }

  return 0;
}

Bài 2. Giải phương trình bật hai ax2 + bx + c = 0

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

main()
{
    float a, b, c, delta, x1, x2;
    printf("=== GIAI PHUONG TRINH BAC 2 ===\n");
    printf("Nhap vao 3 so a, b, c: ");
    scanf("%f%f%f", &a, &b, &c);
    if(a==0)
    {
        if(b==0)
            {
                if(c==0)
                    printf("Phuong trinh co vo so nghiem!");
                else
                    printf("Phuong trinh vo nghiem!");
            }
        else
            printf("Phuong trinh co nghiem duy nhat la: %f",-c/b);
    }
    else
    {
        delta = b*b-4*a*c;
        if (delta < 0)
            printf("Phuong trinh vo nghiem!");
        else if (delta == 0)
            printf("Phuong trinh co nghiem kep la: %f", -b/(2*a));
        else
            {
            	x1 = (-b+sqrt(delta))/(2*a);
            	x2 = (-b-sqrt(delta))/(2*a);
				printf("Phuong trinh co 2 nghiem phan biet la: \n x1 = %f \n x2 = %f", x1, x2);
			}
			    
    }    
  return 0;
}
    

Bài 3. Dùng cấu trúc lặp for, while, do..while xuất ra màn hình từ 1 đến 10

     
#include <stdio.h>
int main()
{
	//Dung cau truc for
    for(int i=1;i<=10;i++)
    	printf("\n for - dong: %d",i);
	
	//Dung cau truc while
	int j = 1;
    while(j<=10)
    {
    	printf("\n while - dong: %d",j);
    	j++;
	}
	
	//Dung cau truc do..while
	int k = 1;
    do{
    	printf("\n do..while - dong: %d",k);
    	k++;
	} while(k<=10);
    
	return 0;
}

    

Bài 4. Tính tổng S = 1 + 2 + 3 + .. + n với n là số nguyên dương nhập từ bàn phím

  
#include <stdio.h>

int main()
{
	int n, s;
	
	//Nhap n tu ban phim
	printf("Nhap n = ");
	scanf("%d", &n);
	
	s = 0;
    for(int i=1;i<=n;i++)
    {
    	s = s+i;
	}
    //Xuat ra ket qua, tong s
    printf("Tong n = %d",s);

    return 0;
}

Bài 5. Tính tổng số chẵn SC = 2 + 4 + 6 + .. + n với n là số nguyên dương nhập từ bàn phím

  
#include <stdio.h>

int main()
{
	//Khai bao bien
	int n, tong_chan;
	
	printf("=== TINH TONG CAC SO CHAN TU 1..n ===\n");
	//Nhap n tu ban phim
	printf("Nhap so nguyen n = ");
	scanf("%d",&n);
	
	tong_chan = 0;
    for(int i=1;i<=n;i++)
    {
    	//Tinh tong chan
    	if(i%2 == 0)
    		tong_chan = tong_chan + i;
	}
    //Xuat ra ket qua
    printf("\nTong chan = %d",tong_chan);

    return 0;
}

Bài 6. Tính tổng số lẻ SL = 1 + 3 + 5 + .. + n với n là số nguyên dương nhập từ bàn phím

     
#include <stdio.h>

int main()
{
	//Khai bao bien
	int n, tong_le;
	
	printf("=== TINH TONG CAC SO LE TU 1..n ===\n");
	//Nhap n tu ban phim
	printf("Nhap so nguyen n = ");
	scanf("%d",&n);
	
	tong_le = 0;
    for(int i=1;i<=n;i++)
    {
    	//Tinh tong le
    	if(i%2 != 0)
    		tong_le = tong_le + i;
	}
    //Xuat ra ket qua
    printf("\nTong chan = %d",tong_le);

    return 0;
}

Bài 7. Tìm các ước số của n, với n là số nguyên dương nhập từ bàn phím

    
#include<stdio.h> #include<conio.h> int main() { int n; do { //Nhap n         printf("\nNhap n(n > 0): "); scanf("%d", &n); //Kiem tra n co phai nguyen duong if(n <= 0) { printf("\n N phai > 0. Vui long nhap lai !"); } }while(n <= 0); //Tim cac Uoc so for(int i=1; i<=n; i++) { if(n % i == 0) printf("%4d", i); } getch(); return 0; }

Bài 8. Tính tổng các ước số của n, với n là số nguyên dương nhập từ bàn phím

     
#include<stdio.h> #include<conio.h> int main() { int n; do { //Nhap n printf("\nNhap n(n > 0): "); scanf("%d", &n); //Kiem tra n co phai nguyen duong if(n <= 0) { printf("\n N phai > 0. Vui long nhap lai !"); } }while(n <= 0); //Tim tong cac Uoc so for(int i=1; i<=n; i++) { if(n % i == 0) printf("%4d", i); } getch(); return 0; }

Bài 9. Tìm các số nguyên tố từ 1..n, với n là số nguyên dương nhập từ bàn phím

     
#include <stdio.h> #include <conio.h> int main() { int n; printf("\nNhap n = "); scanf("%d", &n); printf("Day so nguyen to tu 1..%d la:\n", n); for(int j=2; j<=n; j++) { int dem = 0; for(int i = 2; i < j; i++) { if(j % i == 0) dem++; } if(dem == 0) printf("\t%d", j); } getch(); return 0; }

Bài 10. Tìm các số hoàn hảo từ 1..n, với n là số nguyên dương nhập từ bàn phím

     
#include <stdio.h> #include <conio.h> int main() { int n; printf("\nNhap n = "); scanf("%d", &n); printf("Day so hoan hao tu 1..%d la:\n", n); for(int j=2; j<=n; j++) { int s = 0; for(int i = 1; i < j; i++) { if(j%i == 0) s = s + i; } if(s == j) printf("\t%d", j); } getch(); return 0; }

Chương 4. Hàm

#include <stdio.h>

//Ham tinh tong 2 so nguyen
int tong_2_so(int a, int b)
{
	int tong;
	tong = a + b;
	return tong;
}

//Ham tinh hieu 2 so nguyen
int hieu_2_so(int a, int b)
{
	int hieu;
	hieu = a - b;
	return hieu;
}

//Ham tinh tich 2 so nguyen
int tich_2_so(int a, int b)
{
	int tich;
	tich = a*b;
	return tich;
}

//Ham tinh thuong 2 so nguyen
float thuong_2_so(int a, int b)
{
	float thuong;
	thuong = (float) a/b;
	return thuong;
}
int main()
{
	int x, y;
	int tong, hieu, tich;
	float thuong;
	printf("Nhap 2 so nguyen x, y: ");
	scanf("%d%d",&x, &y);
	tong = tong_2_so(x,y);
	hieu = hieu_2_so(x,y);
	tich = tich_2_so(x,y);
	thuong = thuong_2_so(x,y);
	printf("Tong %d + %d = %d", x,y,tong);
	printf("\nHieu %d - %d = %d", x,y,hieu);
	printf("\nTich %d * %d = %d", x,y,tich);
	printf("\nThuong %d / %d = %.2f", x,y,thuong);
	
    return 0;
}

Chương 5. Mảng

Bài 1. Chương trình nhập, xuất mảng số nguyên a:

#include <stdio.h>
#include <conio.h>
int main()
{
	//1.Khai bao
	int a[100]; //khai bao mang co 100 phan tu
	int n; //Khai bao so pt nhap tu ban phim
	
	//2.Nhap so phan tu
	printf("Nhap so phan tu:");
	scanf("%d",&n);
	
	//3.Nhap gia tri phan tu
	for(int i=0;i<n;i++)
	{
		printf("Nhap phan tu thu %d: ",i+1);
		scanf("%d",&a[i]);
	}
	
	//4.Xuat gia tri cua cac phan tu
	printf("Gia tri cac phan tu trong mang a:");
	for (int i=0;i<n;i++)
	{
		printf("\nGia tri cac phan tu thu %d la: %d",i+1, a[i]);
	}
	
	getch();
	return 0;
}
  

Bài 2. Chương trình thực hiện xử lý một số hàm về mảng  

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

void nhap_mang(int a[], int n)
{
	for(int i=0;i<n;i++)
	{
		printf("Nhap phan tu thu %d: ",i+1);
		scanf("%d",&a[i]);
	}
}

void xuat_mang(int a[], int n)
{
	printf("Danh sach cac phan tu trong mang:\n");
	for(int i=0;i<n;i++)
		printf("\t %d: ",a[i]);
	
}

int dem_pt_le(int a[], int n)
{
	int dem = 0;
	for(int i=0; i<n; i++)
	{
		if(a[i]%2 != 0)
			dem++;
	}
	return dem;
}

int dem_pt_chan(int a[], int n)
{
	int dem = 0;
	for(int i=0;i<n;i++)
	{
		if(a[i]%2 == 0)
			dem++;
	}
	return dem;
}

int tinh_tong_pt(int a[], int n)
{
	int tong = 0;
	for(int i=0;i<n;i++)
	{
		tong = tong + a[i];
	}
	return tong;
}

int tong_pt_le(int a[], int n)
{
	int tong = 0;
	for(int i=0;i<n;i++)
	{
		if(a[i]%2 != 0)
			tong = tong + a[i];
	}
	return tong;
}

int tong_pt_chan(int a[], int n)
{
	int tong = 0;
	for(int i=0;i<n;i++)
	{
		if(a[i]%2 == 0)
			tong = tong + a[i];
	}
	return tong;
}

int max(int a[], int n)
{
	int max;
	max = a[1];
	for(int i=0;i<n;i++)
	{
		if(a[i] > max)
			max = a[i];
	}
	return max;
}

int min(int a[], int n)
{
	int min;
	min = a[1];
	for(int i=0;i<n;i++)
	{
		if(a[i] < min)
			min = a[i];
	}
	return min;
}

int main()
{ 
	int a[100];
	int n;
	printf("THAO TAC VOI CAC PHAN TU TRONG MANG\n");
	printf("Nhap so phan tu cho mang: ");
	scanf("%d",&n);
	
	nhap_mang(a,n);
	xuat_mang(a,n);
	printf("\nSo pt le trong mang: %d",dem_pt_le(a, n));
	printf("\nSo pt chan trong mang: %d",dem_pt_chan( a, n));
	printf("\nTong cac pt trong mang: %d",tinh_tong_pt(a, n));
	printf("\nTong cac pt le trong mang: %d",tong_pt_le( a, n));
	printf("\nTong cac pt chan trong mang: %d",tong_pt_chan(a, n));
	printf("\nPhan tu Max: %d",max(a, n));
	printf("\nPhan tu Min: %d",min(a, n));
	getch();
	return 0;
}
  
 

Chương 6. Con trỏ

Bài 1.

(đang cập nhật)

Chương 7. Chuỗi kí tự

Bài 1.

(đang cập nhật)

Chương 8. Đọc, ghi file

Bài 1.

(đang cập nhật)

Liên hệ

Tên

Email *

Thông báo *