Nguyễn Tài Hạnh

ĐH KHTN HCM.

Subscribe to RSS feed

Tính Tiền Internet

NMLT_Mang_NhapXuat_TinhTong_TimKiem_LietKe

//Ham Main
#include "btth08.h"

void main()
{
	int a[333];
	float a1[333];
	int n, t,x,y;
	printf("1. bai 1\n");
	printf("2. bai 2\n");
	printf("3. bai 3\n");
	printf("4. bai 4\n");
	printf("5. bai 5\n");
	printf("6. bai 6\n");
	printf("7. bai 7\n");
	printf("8. bai 8\n");
	printf("9. bai 9\n");
	printf("10. bai 10\n");
	printf("11. bai 11\n");
	printf("12. bai 12\n");
	printf("13. bai 13\n");
	printf("14. bai 14\n");
	printf("15. bai 15\n");
	printf("16. bai 16\n");
	printf("17. bai 17\n");
	printf("18. bai 18\n");
	printf("19. bai 19\n");
	printf("20. bai 20\n");
	printf("21. bai 21\n");
	printf("14. bai 14\n");
	printf("Moi Ban Nhap bai can tinh: ");
	scanf("%d", &t);
	switch(t)
	{
	case 1:
		{
			nhapmang(a,n);
			xuatmang(a,n);
			break;
		}
	case 2:
		{
			mangsothuc(a1, n);
			xuatmang_sothuc(a1, n);
			break;
		}
	case 3:
		{
			nhapmang(a,n);
			float kq3 = tinhtbcsonguyen(a,n);
			if(kq3!=0)
			{
				printf("\nTBC cac so nguyen la: %0.2f\n", kq3);
			}
			else
				printf("\nKhong co gia tri nguyen duong\n");
			break;
		}
	case 4:
		{
			nhapmang(a,n);
			float kq4 = tbcsont(a,n);
			if(kq4!=0)
				printf("\nTBC SNT = %0.2f\n", kq4);
			else
				printf("\nKhong co so nguyen to nao!\n");
			break;
		}
	case 5:
		{
			printf("\nNhap vao X: ");
			scanf("%d", &x);
			nhapmang(a,n);
			int kq5 = tinhtinhlonhonx(a,n,x);
			if(kq5!=0)
				printf("\nTong cac so lon hon X la %d\n", kq5);
			else
				printf("Khong co so nao lon hon so X\n" );
			break;
		}
	case 6:
		{
			nhapmang(a,n);
			int kq5 = demsochinhphuong(a,n);
			if(kq5!=0)
				printf("\nCo tat ca %d so chinh phuong trong mang\n", kq5);
			else
				printf("\nKhong co so chinh phuong trong mang\n");
			break;
		}
	case 7:
		{
			nhapmang(a,n);
			int kq7 = demsocogiatrilonnhat(a,n);
			printf("\Co tat ca %d so lon hon so ban dau trong mang\n", kq7);
			break;
		}
	case 8:
		{
			nhapmang(a,n);
			int kq8 = demsoriengbiet(a,n);
			printf("\Cac so rieng biet la: %d\n", kq8);
			break;
		}
	case 9:
		{
			nhapmang(a,n);
			int kq9 = timgiatrinhonhat(a,n);
			printf("\nGia tri nho nhat trong mang la: %d\n", kq9);
			break;
		}
	case 10:
		{
			nhapmang(a,n);
			int kq10 = vtduongdautien(a,n);
			if(kq10 == -1 )
				printf("\nKhong co vi tri duong dau tien\n");
			else
				printf("\ Vi tri duong dau la vi tri thu %d\n", kq10);
			break;
		}
	case 11:
		{
			nhapmang(a,n);
			int kq11 = giatriduonglonnhat(a,n);
			printf("\nGia tri lon nhat la %d\n", kq11);
			break;
		}
	case 12:
		{
			nhapmang(a,n);
			int kq12 = vitringuyentolonnhat(a,n);
			if(kq12 == -1 )
				printf("\nKhong co so nguyen to \n");
			else
				printf("vi tri a[%d] la vi tri so nguyen to lon nhat trong mang\n", kq12);
			break;
		}
	case 13:
		{
			nhapmang(a,n);
			int kq13 = vitrisochinhphuonglelonNhat(a,n);
			if(kq13 != -1)
				printf("So chinh phuong le lon nhat la: %d\n", a[kq13]);
			else
				printf("Ko co so chinh phuong le nao!\n");
			break;
		}
	case 14:
		{
			nhapmang(a,n);
			int kq14 = timvitrilonthuhaitrongmang(a,n);
			printf("Vi tri lon thu hai trong mang so nguyen la so %d\n", kq14);
			break;

		}
	case 15:
		{
			nhapmang(a,n);
			//int kq15= timphantuxuathiennhieunhattrongmangsonguyen(a,n);
			//printf("So xuat hien nhieu nhat la %d\n", a[kq15]);
			hh(a,n);
			break;
		}
	case 16:
		{
			nhapmang(a,n);
			lietkevitringuyento(a,n);
			break;
		}
	case 17:
		{
			nhapmang(a,n);
			lietkevitriletrongkhoangxy(a,n);
			break;
		}
	case 18:
		{
			nhapmang(a,n);
			LietKeNhungSoChantrongmangsonguyen(a,n);
			break;
		}
	case 19:
		{
			nhapmang_ngaunhien(a,n);
			xuatmang(a,n);
			break;
		}

	}
}


//Bai 1.
#include "btth08.h"

void nhapmang(int a[], int &n)
{
	printf("Moi ban nhap vao so luong cua mang: ");
	scanf("%d", &n);
	for(int i = 0; i<n; i++)
	{
		printf("Phan tu thu a[%d]: ", i);
		scanf("%d", &a[i]);
	}
}
void xuatmang(int a[], int n)
{
	printf("Mang cua ban nhu sau: ");
	for(int i = 0; i<n; i++)
	{
		printf("%-5d", a[i]);
	}
}


//Bai 2

#include "btth08.h"

void mangsothuc(float a1[], int &n)
{
	printf("Nhap N: ");
	scanf("%d", &n);
	for(int i = 0; i<n; i++)
	{
		printf("Day la phan tu thu a[%d]: ", i);
		scanf("%f", &a1[i]);
	}
}
void xuatmang_sothuc(float a1[], int n)
{
	printf("\nMang cua ban la: ");
	for(int i = 0; i<n; i++)
	{
		printf("%10.2f", a1[i]);
	}
}

bai 3

#include "btth08.h"

float tinhtbcsonguyen(int a[], int n)
{
	int tong= 0, dem = 0;
	for(int i = 0; i<n; i++)
	{
		if(a[i]>0)
		{
			dem = dem ++;
			tong = tong + a[i];
			
		}
	}
	if(dem != 0)
	{
		return (float (tong)/dem);
	}
	else
		return 0;

}


Bai 4:
#include "btth08.h"

int snt(int n)
{
	int dem = 0;
	for(int i = 1; i<=n; i ++)
	{
		if(n%i ==0)
		{
			dem = dem++;
		}
	}
	if(dem == 2)
		return 1;
	return 0;
}
float tbcsont(int a[], int n)
{
	int tong= 0, dem = 0;
	for(int i = 0; i<n; i++)
	{
		if(snt(a[i])==1)
		{
			
			tong = tong + a[i];
			dem = dem ++;
		}
	}
	if(dem!=0)
		return float (float(tong)/dem);
	else
		return 0;
	/*int tong = 0;
	int dem = 0;
	for(int i =0; i<n; i++)
	{
		if(snt(a[i]) == 1)
		{
			tong = tong + a[i];
			dem = dem++;
		}
	}
	if(dem ==0)
		return 0;
	else
	{
		return float (tong)/dem;
	}*/
}


Bai 5:

#include "btth08.h"

int tinhtinhlonhonx(int a[], int n, int x)
{
	int tong = 0, dem= 0;
	for(int i = 0; i<n; i++)
	{
		if((a[i])>x)
		{
			dem ++;
			tong = tong + a[i];
			
		}
	}
	if(dem !=0)
		return tong;
	else
		return 0;
	
}


Bai 6
#include "btth08.h"
#include <math.h>
int kt_chinhphuong(int n)
{
	int can_nguyen = sqrt(float (n));
	if((can_nguyen*can_nguyen)==n)
		return 1;
	return 0;
}
int demsochinhphuong(int a[], int n)
{
	int dem = 0;
	for(int i = 0; i<n; i++)
	{
		if(kt_chinhphuong(a[i])==1)
		{
			dem ++;
		}
	}
	if(dem!=0)
	{
		return dem;
	}
	else
		return 0;
}


Bai 7:
#include "btth08.h"

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


Bai 8:
#include "btth08.h"
//Đếm số lượng phần tử riêng biệt trong mảng số nguyên.
//Các phần tử giống nhau chỉ đếm 1 lần.
int demsoriengbiet(int a[], int n)
{
	int dem = 0;
	for(int i = 0; i<n; i++)
	{
		int dem2 = 0;
		{
			for(int j = 0; j<i; j++)
			{
				if((a[i])==(a[j]))
				{
					dem2 ++;//Nếu xét thấy trong mang có phần từ a[i] và a[j] giống nhau 
							// tăng biến đếm _ 2 lên. 
							// chạy hết vòng lặp đầu tiên mà ko thấy biến đếm tăng lên tức là các số chưa có trùng nhau.
				}
			}
			if(dem2 == 0)
			{
				dem ++;
			}
		}
	}
	return dem;
}


Bai 9:
#include "btth08.h"

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


Bai 10:
#include "btth08.h"

int vtduongdautien(int a[], int n)
{
	int vt = -1;
	for(int i = 0; i<n; i++)
	{
		if(a[i]>0)
		{
			vt = i;
			break;
		}
	}
	if(vt == -1)
		return 0;
	else
		return vt;
}


Bai 11:
#include "btth08.h"

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


Bai 12:
#include "btth08.h"

int vitringuyentolonnhat(int a[], int n)
{
	int vt = -1;
	for(int i = n-1; i>0; i--)
	{
		if(snt(a[i])==1)
		{
			vt = i;
			break;
		}
	}
	if(vt == -1 )
		return 0;
	return vt;
}


bai 13:
#include "btth08.h"

int vitrisochinhphuongledautien(int a[], int n)
{
	for(int i = 0; i<n; i++)
	{
		if(kt_chinhphuong(a[i])==1)
		{
			return i;
		}
	}
	return -1;
}
int vitrisochinhphuonglelonNhat(int a[], int n)
{
	int vt_max = vitrisochinhphuongledautien(a,n);
	if(vt_max !=(-1))
	{
		//Xét từ vị trí thứ vt_max+1;
		for(int i = vt_max+1;i<n; i++)
		{
			if((kt_chinhphuong(a[i])==1&&(a[i]%2!=0)&&(a[i])>a[vt_max]))
			{
				vt_max= i;
			}
		}
	}
	return vt_max;
}


bai 14:
#include "btth08.h"

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

Bai 15:
#include "btth08.h"

/*int  timphantuxuathiennhieunhattrongmangsonguyen(int a[], int n)
{
/*int max = 0;
int b[111];
int k = 0;
for(int i = 0; i<n; i++)
{
int dem = 1;
for(int j=i+1; j<n; j++)
{
if(a[j] == a[i])
{
dem++;
}
else
{
if(dem = max)
{
b[k++] = a[i];
}
}
}
}
printf("So xuat hien nhieu nhat la so %d: \n", max);
for(int i =0; i<k; i++)
{
printf("%d ", b[i]);			
}
//int dem = 1;
int vt = -1;
for(int  i = 0; i<n; i++)
{
for(int j = i + 1; j<n; j++)
{
if(a[i]==a[j])
{
//dem = dem ++;
vt = i;
}
}
}
//return dem;
return vt;
}*/

void hh(int a[], int n)
{
	int max = 1, d, t;
	int i;
	for(int i = 1; i < n; i++)
	{
		if(a[i] == a[0])
			max++;
	}
	for(int j = 1; j < n; j++)
	{
		d = 1;
		for(t = j+1; t < n; t++)
		{
			if(a[t] == a[j])
				d++;
		}
		if(d > max)
			max = d;
	}
	int k = 1;
	for(i = 0; i < n; i++)
	{
		for(int j = i+1; j < n; j++)
		{
			if(a[j] == a[i])
				k++;
		}
		if(k == max)
		{
			printf("phan tu xuat hien nhieu nhat: %d xuat hien %d lan\n", a[i], max);
		}
	}
}

Bai 16:
#include "btth08.h"

void lietkevitringuyento(int a[], int n)
{
	int dem = 0;
	for(int i = 0; i<n; i++)
	{
		if(snt(a[i])==1)
		{
			dem ++;
			printf("\nVi tri so nguyen to la: %d \n ", i);
		}
	}
	if(dem == 0)
	{
		printf("\nKhong co so nguyen to nao trong mang\n");
	}
}

Bai 17:
#include "btth08.h"

void lietkevitriletrongkhoangxy(int a[], int n)
{
	int x,y;
	do
	{
	printf("Nhap x: " );
	scanf("%d", &x);
	printf("Nhap y: " );
	scanf("%d", &y);
	}while(x>y);
	for(int i = x; i <y; i++)
	{
		if((a[i])%2!=0)
		{
			printf("Vi tri so nguyen to trong khoang %d toi %d la %d\n", x,y,i);
		}
	}
}

Bai 18:
#include "btth08.h"

void LietKeNhungSoChantrongmangsonguyen(int a[], int n)
{
	for(int i = 0; i<n; i++)
	{
		int dem = 0;
		for(int j = 0; j<i; j++)
		{
			if((a[i]==a[j])&&(a[i]%2==0))
			{
				dem = dem ++;
			}
		}
		if(dem == 0)
		{
			printf("\n%d\t", a[i]);
		}
	}
}

Bai 19:

#include "btth08.h"

void nhapmang_ngaunhien(int a[], int &n)
{
	printf("nhap n = ");
	scanf("%d", &n);
	srand((int) time(NULL));
	for(int i=0; i<n; i++)
		a[i] = rand() % 1000 + 1;

}

//File.h

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>

void nhapmang(int a[], int &n);
void xuatmang(int a[], int n);
void mangsothuc(float a1[], int &n);
void xuatmang_sothuc(float a1[], int n);
float tinhtbcsonguyen(int a[], int n);
int snt(int n);
float tbcsont(int a[], int n);
int tinhtinhlonhonx(int a[], int n, int x);
int kt_chinhphuong(int n);
int demsochinhphuong(int a[], int n);
int demsocogiatrilonnhat(int a[], int n);
int demsoriengbiet(int a[], int n);
int timgiatrinhonhat(int a[], int n);
int vtduongdautien(int a[], int n);
int giatriduonglonnhat(int a[], int n);
int vitringuyentolonnhat(int a[], int n);
int vitrisochinhphuongledautien(int a[], int n);
int vitrisochinhphuonglelonNhat(int a[], int n);
int timvitrilonthuhaitrongmang(int a[], int n);
int timphantuxuathiennhieunhattrongmangsonguyen(int a[], int n);
void hh(int a[], int n);
void lietkevitringuyento(int a[], int n);
void lietkevitriletrongkhoangxy(int a[], int n);
void LietKeNhungSoChantrongmangsonguyen(int a[], int n);
void nhapmang_ngaunhien(int a[], int &n);

Chương 1_NMLT_NTTMK_Tu Bai 43 - 63.

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

void main()
{
	int n,a,b;
	int dv = 0;
	int max, min;
	int dautien;
	int dem = 0;
	int tong = 0;
	int tich = 1;
	do
	{
		printf("Nhap vao N: ");
		scanf("%d", &n);
	}while(n<0);
	int m = n;
	max= 0;
	min =9;
	//1. Đếm số lượng chử số nguyên dương N.
	//2. Tính tổng các chữ số nguyên duong N.
	//3. Tich cac so nguyen duong n.
	/*while(n>0)
	{
		dem = dem ++;
		dv = n%10;
		tong = tong + dv;
		tich = tich * dv;
		n = n/10;
		
	}
	printf("Dem so duong = %d\n", dem);
	printf("\nTong cac so duong la %d\n", tong);
	printf("\nTich cac so duong la %d\n", tich);*/
	//4. Đếm các chữ số nguyên dương lể N.
	//
	/*while(n>0)
	{
		dv = n%10;
		n = n/10;
		if(dv % 2 !=0)
		{
			dem = dem ++;
		}
	}
	printf("Cac so le trong N la: %d \n", dem);*/
	// 5. Đếm các giá trị chẵn trong số dương N.
	// 6. Tính tổng chẳn trong dương N.
	// 7. Tinh tích các số lẻ.
	/*while(n>0)
	{
		dv = n % 10;
		n = n/10;
		if(dv % 2 == 0)
		{
			dem = dem ++;
			tong = tong + dv;

		}
		if(dv % 2 != 0)
		{
			tich = tich * dv;

		}
	}
	printf("Cac so chan trong N la: %d \n", dem);
	printf("\nTong so chan trong N la: %d \n", tong);
	printf("\nTich so le trong N la: %d \n", tich);*/
	// 9.Tìm chữ số đầu tiên của n.
	/*while(n>0)
	{
		dautien = n %10;
		n = n/10;
	}
	printf("\nSo dau tien cua so %d la so %d \n", m, dautien);
	*/
	// 10. Tìm chữ số đảo ngược.
	/*while(n>0)
	{
		dv = n%10;
		n = n/10;
		tong = tong * 10 + dv;
		//printf("%d ", dv);
	}
	printf("\nso dao nguoc cua so %d la so %d\n", m, tong);
	*/
	// 11. Tìm chử số lớn nhất của số dương n.
	/*while(n>0)
	{
		dv = n%10;
		n = n/10;
		if(dv>max)
			max = dv;		
		
	}
	printf("max = %d ", max);*/
	// 12. Tìm chữ số nhỏ nhất của só dương n.
	/*while(n>0)
	{
		dv = n % 10;	
		n = n/10;
		if(dv<min)
			min = dv;
		
	}
	printf("\nMin = %d \n", min);*/
	// 13. Kiểm tra số nguyen dương N toàn số lẽ hay ko?
	/*while(n>0)
	{
		dv = n % 10;	
		n = n/10;
		if(dv % 2 ==0)
		{
			dem ++;
		}
		
	}
	if(dem == 0)
	{
		printf("\nSo %d toan le\n", m);
	}
	else
	{
		printf("\nSo %d Khong toan le\n", m);
	}*/
// 14. Kiểm tra số nguyen dương N toàn số chan hay ko?
	/*while(n>0)
	{
		dv = n % 10;	
		n = n/10;
		if(dv % 2 !=0)
		{
			dem ++;
		}
		
	}
	if(dem == 0)
	{
		printf("\nSo %d toan chan\n", m);
	}
	else
	{
		printf("\nSo %d Khong toan chan\n", m);
	}*/
	// 15. Kiểm tra số duong N có phải là số đối xứng hay ko?
	/*while(n>0)
	{
		dv = n%10;
		n = n/10;
		tong = tong* 10 + dv;
	}
	if(tong == m)
		printf("\nSo %d la so doi xung\n", m);
	else
	{
		printf("\nSo %d khong la so doi xung\n", m);
	}
	*/
// 16. Kiểm tra tăng dần .
	dautien = n%10;
	do
	{
		dv = dautien;
		n = n/10;
		dautien = n%10;		
	}while(n!= 0 &&(dautien<dv));
	if(dautien<dv)
	{
		printf("Tang dan\n");
	}
	else
	{
		printf("\n Khong tang dan\n");
	}
	printf("Nhap a: ");
	scanf("%d", &a);
	printf("Nhap b: ");
	scanf("%d", &b);
// 17. Uoc chung lon nhat.
	if(a!=b)
	{
		if(a>b)
		{
			a = a- b;
		}
		else
		{
			a = b - a;
		}
	}
	printf("Uoc so lon nhat la: %d \n", a);
	// 18. Boi chung nho nhat.
	// a*b /(UCLN)
	

}

Chương 1_NMLT_NTTMK_Tu Bai 20 - 32.

:p 

// Liệt kê tất cả những ước số.
// Tính tổng các ước số.
// Tính tích tất cả ước số.
// Đếm ước số của số nguyên dương N.
// Liệt kê các ước số lẻ của số dương N.
// Tính tổng các "sổ chẳn" của số Nguyên Dương N.
// Tính tích tất cả số lẽ của số Dương N.
// Đếm số lượng ước chẳn.

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

void main()
{
	int n;
	int dem = 0;
	int tong = 0;
	int tich = 1;
	do
	{
		printf("Nhap vao N: ");
		scanf("%d", &n);
	}while(n<0);
	for(int i = 1; i<=n; i++)
	{
		if(n%i == 0)
		{
			printf("%d ", i);
		}
	}
	printf("\n");
	/*for(int i = 1; i<=n; i++)
	{
		if(n%i == 0)
		{
			tong = tong + i;
		}
	}
	printf("Tong la uoc so tu 1 den %d la %d\n", n, tong);*/
	/*for(int i = 1; i<=n; i++)
	{
		if(n%i == 0)
		{
			tich = tich * i;
		}
	}
	printf("Tich la uoc so tu 1 den %d la %d\n", n, tich);
	for(int i = 1; i<=n; i++)
	{
		if(n%i == 0)
		{
			dem = dem ++;
		}
	}
	printf("1 den %d co tat ca %d so uoc\n", n, dem);
	printf("******************************\n");
	for(int i = 1; i<=n; i++)
	{
		if((n%i) == 0&&(i%2!=0))
		{
			printf("%d ", i);
		}
	}
	printf("\n******************************\n");
	for(int i = 1; i<=n; i++)
	{
		if((n%i == 0)&&(i%2==0))
		{
			tong = tong + i;
		}
	}
	printf("Tong uoc chan tu 1 den %d la %d\n", n, tong);
	printf("\n******************************\n");*/
	/*for(int i = 1; i<=n; i++)
	{
		if((n%i == 0)&&(i%2!=0))
		{
			tich = tich * i;
		}
	}
	printf("Tich cac uoc le tu 1 den %d la %d\n", n, tich);
	printf("\n******************************\n");
	for(int i = 1; i<=n; i++)
	{
		if((n%i == 0)&&(i%2==0))
		{
			dem = dem ++;
		}
	}
	printf("1 den %d co tat ca %d so uoc chan\n", n, dem);
	// tính tổng các số ước nhỏ hơn chính nó.
	for(int i = 1; i<n; i++)
	{
		if(n%i == 0)
		{
			tong = tong + i;
		}
	}
	printf("Tong cac uoc so nho hon %d la %d\n", n, tong);
	//Tìm ước số lẻ lớn nhất.
	for(int i = n-1; i>0; i--)
	{
		if((n%i ==0 )&&(i%2!=0))
		{
			printf("%d ", i);
			break;
		}
	}
	printf("La So uoc le lon nhat tu 1 den %d\n", n);
	
	printf("\nKiem tra so Nguyen dUONG N co phai la so Hoan thien hay ko?\n");
	for(int i = 1; i<n; i++)
	{
		if(n%i ==0)
		{
			tong = tong + i;
		}
	}
	if(tong == n)
	{
		printf("\nso %d la so hoan thien\n", n);
	}
	else
		printf("\nso %d Khong la so hoan thien\n Boi vi Tong tu 1 den %d la %d # %d\n", n,n,tong, n);
		
	// Kiểm tra số nguyên tố.
	for(int i = 1; i<=n; i++)
	{
		if(n%i == 0)
		{
			dem = dem ++;
		}
	}
	if(dem == 2)
	{
		printf("So %d la so Nguyen To\n", n);
	}	
	else
	{
		printf("%d Khong la so Nguyen to\n", n);
	}*/
// kiểm tra chính phương.
	int can = sqrt(float (n));
	if((can * can) == n)
	{
		printf("So %d la so Chinh Phuong\n", n);
	}
	else
	{
	{
		printf("So %d Khong la so Chinh Phuong\n", n);
	}
	}
}

NMLT_Tuần 7_HÀM.(TT)

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

void nhap (int &n)
{
	printf("Nhap vao 1 so nguyen: ");
	scanf("%d", &n);
}
void nhapsonhiphan (int &n)
{
	printf("Nhap vao 1 so Nhi phan: ");
	scanf("%d", &n);
}
void nhapsoduong (int &n )
{
	do
	{
		printf("Nhap vao 1 so nguyen Duong: ");
		scanf("%d", &n);
	}
	while(n<0);
}
void nhap4so(int &a,int &b,int &c,int &d)
{
	printf("Nhap vao A: ");
	scanf("%d", &a);
	printf("Nhap vao B: ");
	scanf("%d", &b);
	printf("Nhap vao C: ");
	scanf("%d", &c);
	printf("Nhap vao D: ");
	scanf("%d", &d);
}
void nhapchu (char &thuong)
{
	printf("Nhap vao chu thuong: ");	scanf("%c", &thuong);
}
char bai1_Doi_chu_cai_thuong_thanh_hoa(char th)
{
	return th - 32;
}
int bai2_uocsole(int n)
{
	for(int i=n; i>0; i--)
	{
		if((n%i==0)&&(i%2!=0))
		{
			return i;
			break;
		}
		
	}
	return 0;
}
int bai3_uocsochan(int n)
{
	for(int i=n; i>0; i--)
	{
		if((n%i==0)&&(i%2==0))
		{
			return i;
			break;
		}
	}
	return 0;
}
int bai4_KiemTraDang3MuK(int n)
{
	for(int i=0; i<n; i++)
	{
		if(i*i*i ==n)
			return 1;
	}
	return 0;
}
void bai5_hoanvi(int &a, int &b)
{
	int tam;
	tam = a;
	a = b;
	b = tam;
}
void bai5_Sapxeptangdan(int &a,int &b,int &c,int &d)
{
	if(a>b)
	{
		bai5_hoanvi(a,b);
	}
	if(a>c)
	{
		bai5_hoanvi(a,c);
	}
	if(a>d)
	{
		bai5_hoanvi(a,d);
	}
	if(b>c)
	{
		bai5_hoanvi(b,c);
	}
	if(b>d)
	{
		bai5_hoanvi(b,d);
	}
	if(c>d)
	{
		bai5_hoanvi(c,d);
	}
}
void bai6_7_8(int a)
{
	int tram,chuc,dvi ;
	dvi=a%10;
	chuc=(a/10)%10;
	tram=a/100;
	switch(tram)
{
	case 1: printf("mot tram ");break;
	case 2: printf("hai tram ");break;
	case 3: printf("ba tram ");break;
	case 4: printf("bon tram ");break;
	case 5: printf("nam tram ");break;
	case 6: printf("sau tram ");break;
	case 7: printf("bay tram ");break;
	case 8: printf("hai tram  ");break;
	case 9: printf("chin tram ");break;
 }
	switch(chuc)
{
	case 0: if(tram!=0) printf("le ");break;
	case 1: printf("muoi ");break;
	case 2: printf("hai muoi ");break;
	case 3: printf("ba muoi  ");break;
	case 4: printf("bon muoi ");break;
	case 5: printf("nam muoi ");break;
	case 6: printf("sau muoi ");break;
	case 7: printf("bay muoi ");break;
	case 8: printf("hai muoi ");break;
	case 9: printf("chin muoi ");break;
 }
	switch(dvi)
{
	case 0:
		if(tram==0&&chuc==0) printf("khong");
 case 1:
	if(chuc<2)  printf("mot");
 else    printf(" mo*t")  ;break;
 case 2: printf(" hai ");break;
 case 3: printf(" ba ");break;
 case 4: printf(" bon ");break;
 case 5: printf(" nam ");break;
 case 6: printf(" sau ");break;
 case 7: printf(" bay ");break;
 case 8: printf( " hai ");break;
 case 9: printf(" chin ");break;
 }
getch();
}
int bai9_doinhiphansangthapphan(int n)
{
	int tam;
	int k=0, tong = 0;
	while(n>0)
	{
		tam = n%10;
		n = n/10;
		tong = tong + tam*(int (pow ((float (2)), k)));
		k++;
	}
	
	return tong;
}
void bai10_sodaonguoc(int &n)
{
	int tam, m=n;
	printf("\n So dao duoc cua so %d la: \n", m);
	while(n>0)
	{
		tam = n%10;
		n= n/10;
		printf("%d ", tam);
	}
}

/*int bai10_sodaonguoc(int &n)
{
	int tam;
	int tong = 0;
	while(n>0)
	{
		tam = n%10;
		n= n/10;
		tong = tong*10 + tam;
	}
	return tong;
}

*/
void bai10_doithapphansangnhiphan(int &n)
{
	for(int i=7; i>0; i--)
	{
		printf("%d",(n>>i)&1);
	}
}
void main()
{
	int t, n; 
	int a,b,c,d;
	char th;
	printf("1. Bai 1\n");
	printf("2. Bai 2\n");
	printf("3. Bai 3\n");
	printf("4. Bai 4\n");
	printf("5. Bai 5\n");
	printf("6. Bai 6\n");
	printf("9. Bai 9\n");
	printf("10. Bai 10\n");
	flushall();
	scanf("Moi Ban Nhap Vao Bai Can Tinh Toan\n");
	scanf("%d", &t);
	flushall();
	switch(t)
	{
	case 1:
		{
			nhapchu(th);
			char kq = bai1_Doi_chu_cai_thuong_thanh_hoa(th);
			printf("Chu Hoa la: %10C\n", kq);
			break;
		}
	case 2:
		{
			nhap(n);
			int kq2 = bai2_uocsole(n);
			printf("\nUoc so le lon nhat la %d\n", kq2);
			break;
		}
	case 3:
		{
			nhap(n);
			int kq3 = bai3_uocsochan(n);
			printf("\nUoc so chan lon nhat la %d\n", kq3);
			break;
		}
	case 4:
		{
			nhap(n);
			if(bai4_KiemTraDang3MuK(n)==1)
			{
				printf("%d Co dang 3^k\n", n);
			}
			break;
			if(bai4_KiemTraDang3MuK(n)==0)
			{
				printf("%d Khong Co dang 3^k\n", n);
			}
			break;

		}
	case 5:
		{
			nhap4so(a,b,c,d);
			bai5_Sapxeptangdan(a,b,c,d);
			printf("Ket qua sau khi sap xep la: %-5d %-5d %-5d %-5d\n", a,b,c,d); 
			break;
		}
	case 6:
		{
			nhap(a);
			bai6_7_8(a);
			break;
		}
	case 9:
		{
			nhapsonhiphan(n);
			int kq9 = bai9_doinhiphansangthapphan(n);
			printf("\nKet qua sau khi doi thu so Nhi Phan la %d\n", kq9);
			break;
		}
	case 10:
		{
			nhap(n);
			bai10_doithapphansangnhiphan(n);
			//bai10_sodaonguoc(n);
			//int kq10 = bai10_sodaonguoc(n);
			//printf("%d ", kq10);
		}
	}
}

NMLT_Tuần 7_HÀM.

//Tính tổng, tính trung bình cộng.
#include <conio.h>
#include <stdio.h>
int tinhtong(int );
float trungbinhcong(int );

void main()
{
	int n;
	
	{
		printf("Nhap vao so N: ");
		scanf("%d", &n);
	}while(n<=0);

	float kq = trungbinhcong(n);
	printf("\aTBC cac so nguyen duong tu 1 den %d la %0.2f\n", n, kq);

}
int tinhtong(int n)
{
	int tong = 0;
	for(int i = 1; i<=n; i++)
	{
		tong = tong + i;
	}
	return tong;
}
float trungbinhcong(int n )
{
	int t = tinhtong(n);
	
	return float (t)/n;
}


// Số lớn nhất, số bé nhất.
#include <conio.h>
#include <stdio.h>
int sonhonhat(int , int );
int timsonhonhat(int , int, int);


void main()
{
	int a, b, c;
	

	printf("Nhap vao a: ");
	scanf("%d", &a);
	printf("Nhap vao b: ");
	scanf("%d", &b);
	printf("Nhap vao c: ");
	scanf("%d", &c);
	int kq = timsonhonhat(a, b, c);
	
	printf("\aSo nho nhat cua so %d, %d, %d la so %d\n\a",a, b, c, kq);
}
int sonhonhat(int a, int b)
{
	int min;
	if(a>b)
		min = b;
	else
		min = a;
	
	return min;
}
int timsonhonhat(int a , int b, int c)
{
	int kq = sonhonhat(a, b);
	if(kq>c)
		return c;
	else
		return kq;
}


// Ước chung lớn nhất, ước chung nhỏ nhất.

#include <conio.h>
#include <stdio.h>
int UCLN (int, int );
int BCNN (int , int);

void main()
{
	int a, b, m, n;
	do
	{
		printf("Nhap vao a: ");
		scanf("%d", &a);
		printf("Nhap vao b: ");
		scanf("%d", &b);

	}while(a<=0||b<=0);
	int kq = UCLN(a, b);
	int kq1 = BCNN(a, b);
	printf("\nUCLN = %d\n\n", kq);
	printf("\n\aBCNN = %d\n\n\a", kq1);
	m = a/kq;
	n = b/kq;
	printf("Tu so = %d\n\nMau so = %d\n\n", m, n);


	
}
int UCLN (int a, int b )
{
	if(a!=b)
	{
		if(a>b)
		{
			a = a- b;
		}
		else
		{
			a = b - a;
		}
	}
	return a;
}
int BCNN (int a, int b )
{

	int kq = UCLN(a, b);
	return kq = (a*b)/ (UCLN(a, b));
}


//Làm tròn số.

#include <stdio.h>
#include <conio.h>
#include <math.h>
//int bai8(float );
int bai7(float );

void main()
{
	float x;
	int k;
	printf("Nhap vao so thuc X: ");
	scanf("%f", &x);

	//printf("Ban Muon lam tron den so bao nhieu? ");
	//scanf("%d", &k);
	int kq = bai7(x);
	printf("\nSO lam tron roi ne --> %d\n", kq);


}
int bai7(float x)
{
	int m ;
	m = int (x + 0.5);
	return m;
}
int bai8(float x)
{
	/*int k, lamtron;
	
	
		x = x * pow(float (10), k);
		if(k<0)
		{
			lamtron = int (x -0.5);
		}
		else
		{
			if(k==0)
				{
					bai7(x);
				}
			else
			{
				lamtron = int ( x+ 0.5);
			}
		}
		x = lamtron / (pow(float (10), k));
		return x;
*/
	//int k;
	//x =  (floor(x*pow(float(10),k) +(0.5))/(pow(float (10),k)));
	//return x;
}

//Làm tròn số tiếp theo.
#include <stdio.h>
#include <conio.h>
#include <math.h>


void main()
{
	float x;
	int k;
	printf("Nhap vao so thuc X: ");
	scanf("%f", &x);

	printf("Ban Muon lam tron den so bao nhieu? ");
	scanf("%d", &k);
	// ham floor ap dung lam tron .
	x =  (floor(x*pow(float(10),k) +(0.5))/(pow(float (10),k)));

	printf("\n\nSo sau khi lam tron la-->%f", x);


}

//Giải phương trình bậc nhất, 2, 3.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void phuongtrinhbacnhat(float , float);
void phuongtrinhbacnhathai(float , float, float);
void phuongtrinhbacnhatba(float , float, float, float);


void main()
{
	float a, b,c,d;
	printf("Nhap vao a: ");
	scanf("%f", &a);
	printf("Nhap vao b: ");
	scanf("%f", &b);
	printf("Nhap vao c: ");
	scanf("%f", &c);
	printf("Nhap vao d: ");
	scanf("%f", &d);
	
	if(a==0)
	{
		if(b==0)
		{
			phuongtrinhbacnhat(c,d);
		}
		else
		{
			phuongtrinhbacnhathai(b,c,d);
		}
		
	}
	else
	{
		phuongtrinhbacnhatba(a,b,c,d);
	}
	
}

void phuongtrinhbacnhat(float a , float b)
{
	float x;
	if(a==0)
	{
		if(b==0)
		{
			printf("\nPhuong trinh vo so nghiem\n");

		}
		else
		{
			printf("\nPhuong trinh vo nghiem\n");
		}
	}
	else
	{
		x = -b/a;
		printf("\Phuong trinh co nghiem la %.2f\n", x);
	}
}
void phuongtrinhbacnhathai(float a , float b, float c)
{
	float delta,x, x1, x2;
	delta = b*b - 4*a*c;
	if(delta<0)
	{
		printf("\nPhuong trinh vo nghiem\n");
	}
	else
	{
		if(delta ==0)
		{
			x= (-b)/2*a;
			printf("\nPhuong trinh co nghiem kep la %.2f\n", x);
		}
		else
		{
			x1= ((-b) + sqrt(delta))/(2*a);
			x2= ((-b) - sqrt(delta))/(2*a);
			printf("\nPhuong trinh co 2 nghiem phan biet %.2f va %.2f\n", x1, x2);
		}
	}
}
void phuongtrinhbacnhatba(float a, float b, float c, float d)
{
	float delta1, k, x, x1, x2, x3;

	delta1 = (b*b- 3*a*c);

	k = (9*a*b*c - 2* (pow(b , 3)) - 27*a*a*d)/(2*sqrt(pow((delta1), 3)));
	if(delta1<0)
	{
		x= (((sqrt(delta1))/(3*a))*(pow((abs(k)+sqrt((pow(k,2)-1))), (1/3)))+(pow((abs(k)- sqrt((pow(k,2)-1))), (1/3))))- (b/(3*a));
		printf("\nPhuong trinh co 1 nghiem duy nhat la %0.2\n", x);
	}
	else
	{
		if(delta1 ==0)
		{
			x= (-b + pow((pow(b,3))-(27*(pow(a,2))*d),(1/3)))/(3*a);
			printf("\Phuong trinh co nghiem boi la %0.2f\n", x);
		}
		else
		{
			if((abs(k))<=1)
			{
				printf("\Phuong trinh co nghiem phan biet\n");
			}
			else
			{
				printf("\nPhuong trinh co 1 nghiem duy nhat la %f.2\n",x);
				x= (((sqrt(delta1)*(abs(k)))/(3*a*k))*(pow((abs(k)+sqrt((pow(k,2)-1))), (1/3)))+(pow((abs(k)- sqrt((pow(k,2)-1))), (1/3))))- (b/(3*a));
			}
		}
	}

}

NMLT_Tuần 8_HÀM.

[QUOTE][QUOTE]#include <stdio.h>
#include <math.h>

// Bai 5a. Ham doi ky tu hoa sang thuong va nguoc lai
// Dau vao: Ky tu can doi ch
// Dau ra: Ky tu sau khi doi
char DoiKyTu(char ch);

// Bai 5b. Ham giai phuong trinh bac nhat ax + b = 0
// Dau vao: 2 he so nguyen a, b
// Dau ra: Khong co
void GiaiPTBac1(int a, int b);

// Bai 5c. Ham giai phuong trinh bac hai ax^2 + bx + c = 0
// Dau vao: 3 he so nguyen a, b, c
// Dau ra: Khong co
void GiaiPTBac2(int a, int b, int c);

// Bai 5d. Ham tim gia tri nho nhat cua 4 so nguyen cho truoc
// Dau vao: 4 so nguyen a, b, c, d
// Dau ra: So nguyen nho nhat
int TimSoNhoNhat(int a, int b, int c, int d);

// Bai 5e. Ham hoan vi gia tri cua 2 so nguyen cho truoc
// Dau vao: 2 so nguyen a, b
// Dau ra: Khong co
void HoanVi(int &a, int &b);

// Bai 5f. Ham sap xep gia tri cua 4 so nguyen cho truoc tang dan
// Dau vao: 4 so nguyen a, b, c, d
// Dau ra: Khong co
void SapXepTang(int &a, int &b, int &c, int &d);

// Bai 6a. Ham tim so dao cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tim so dao
// Dau ra: So dao cua so nguyen n
int TimSoDao(int n);

// Bai 6b. Ham kiem tra mot so nguyen cho truoc co phai la so doi xung hay khong
// Dau vao: So nguyen n can kiem tra doi xung
// Dau ra: 0 neu n khong la so doi xung, 1 neu n la so doi xung
int KiemTraSoDoiXung(int n);

// Bai 6c. Ham kiem tra mot so nguyen cho truoc co phai la so chinh phuong hay khong
// Dau vao: So nguyen n can kiem tra chinh phuong
// Dau ra: 0 neu n khong la so chinh phuong, 1 neu n la so chinh phuong
int KiemTraSoChinhPhuong(int n);

// Bai 6d. Ham kiem tra mot so nguyen cho truoc co phai la so nguyen to hay khong
// Dau vao: So nguyen n can kiem tra tinh nguyen to
// Dau ra: 0 neu n khong la so nguyen to, 1 neu n la so nguyen to
int KiemTraSoNguyenTo(int n);

// Bai 6e. Ham tinh tong cac chu so le cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tinh tong cac chu so le
// Dau ra: Tong cac chu so le
int TinhTongChuSoLe(int n);

// Bai 6f. Ham tinh tong cac chu so nguyen to cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tinh tong cac chu so nguyen to
// Dau ra: Tong cac chu so nguyen to
int TinhTongChuSoNguyenTo(int n);

// Bai 6g. Ham tinh tong cac chu so chinh phuong cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tinh tong cac chu so chinh phuong
// Dau ra: Tong cac chu so chinh phuong
int TinhTongChuSoChinhPhuong(int n);

// Bai 7a. Tinh tong S = 1 + 2 + ... + n
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
int TinhTongBai7a(int n);

// Bai 7b. Tinh tong S = 1^2 + 2^2 + ... + n^2
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
int TinhTongBai7b(int n);

// Bai 7c. Tinh tong S = 1 + 1/2 + ... + 1/n
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
float TinhTongBai7c(int n);

// Bai 7d. Tinh n! = 1*2*3*...*n
// Dau vao: So nguyen n
// Dau ra: n!
int TinhGiaiThua(int n);

// Bai 7e. Tinh tong giai thua S = 1! + 2! + ... + n!
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
int TinhTongGiaiThua(int n);

// Bai 8. Ham tim USCLN cua 2 so nguyen duong cho truoc
// Dau vao: 2 so nguyen duong a, b
// Dau ra: USCLN cua a va b
int TimUSCLN(int a, int b);

void main()
{
	/*
	// Bai 5a
	char ch;
	printf("Nhap mot ky tu: ");
	scanf("%c", &ch);
	printf("=> Ky tu sau khi doi la %c\n", DoiKyTu(ch));
	*/

	/*
	// Bai 5b
	int a, b;
	printf("Nhap a, b: ");
	scanf("%d%d", &a, &b);
	GiaiPTBac1(a, b);
	*/

	/*
	// Bai 5c
	int a, b, c;
	printf("Nhap a, b, c: ");
	scanf("%d%d%d", &a, &b, &c);
	GiaiPTBac2(a, b, c);
	*/

	/*
	// Bai 5d
	int a, b, c, d;
	printf("Nhap a, b, c, d: ");
	scanf("%d%d%d%d", &a, &b, &c, &d);
	printf("=> So nho nhat la %d\n", TimSoNhoNhat(a, b, c, d));
	*/

	/*
	// Bai 5f
	int a, b, c, d, tam;
	printf("Nhap a, b, c, d: ");
	scanf("%d%d%d%d", &a, &b, &c, &d);
	SapXepTang(a, b, c, d);
	printf("=> Cac so theo thu tu tang dan: %d %d %d %d\n", a, b, c, d);
	*/

	// Dung chung cho cac bai 6 va 7
	int n;
	do
	{
		printf("Nhap n > 0: ");
		scanf("%d", &n);
	}
	while (n<=0);

	/*
	// Bai 6a
	printf("=> So dao cua %d la %d\n", n, TimSoDao(n));
	*/

	/*
	// Bai 6b
	if (KiemTraSoDoiXung(n) == 1)
		printf("=> %d la so doi xung\n", n);
	else
		printf("=> %d khong la so doi xung\n", n);
	*/

	/*
	// Bai 6c
	if (KiemTraSoChinhPhuong(n) == 1)
		printf("=> %d la so chinh phuong\n", n);
	else
		printf("=> %d khong la so chinh phuong\n", n);
	*/

	/*
	// Bai 6d
	if (KiemTraSoNguyenTo(n) == 1)
		printf("=> %d la so nguyen to\n", n);
	else
		printf("=> %d khong la so nguyen to\n", n);
	*/

	/*
	// Bai 6e
	printf("=> Tong cac chu so le cua %d la %d\n", n, TinhTongChuSoLe(n));
	*/

	/*
	// Bai 6f
	printf("=> Tong cac chu so nguyen to cua %d la %d\n", n, TinhTongChuSoNguyenTo(n));
	*/

	/*
	// Bai 6g
	printf("=> Tong cac chu so chinh phuong cua %d la %d\n", n, TinhTongChuSoChinhPhuong(n));
	*/

	/*
	// Bai 7a, b, c, d, e
	printf("1 + 2 + ... + %d = %d\n", n , TinhTongBai7a(n));
	printf("1 + 2^2 + ... + %d^2 = %d\n", n , TinhTongBai7b(n));
	printf("1 + 1/2 + ... + 1/%d = %.2f\n", n , TinhTongBai7c(n));
	printf("%d! = 1*2*...*%d = %d\n", n, n , TinhGiaiThua(n));
	printf("1! + 2! + ... + %d! = %d\n", n , TinhTongGiaiThua(n));
	*/

	/*
	// Bai 8
	int a, b;
	do
	{
		printf("Nhap a, b > 0: ");
		scanf("%d%d", &a, &b);
	}
	while (a<=0 || b<=0);
	printf("=> USCLN cua %d va %d la %d\n", a, b, TimUSCLN(a, b));
	*/
}

// Bai 5a. Ham doi ky tu hoa sang thuong va nguoc lai
// Dau vao: ky tu can doi (ch)
// Dau ra: ky tu sau khi doi
char DoiKyTu(char ch)
{
	if (ch >= 'a' && ch <= 'z')
		ch = ch - 32;
	else
		if (ch >= 'A' && ch <= 'Z')
			ch = ch + 32;

	return ch;
}

// Bai 5b. Ham giai phuong trinh bac nhat ax + b = 0
// Dau vao: 2 he so nguyen a, b
// Dau ra: Khong co
void GiaiPTBac1(int a, int b)
{
	printf("Phuong trinh bac nhat: %dx + %d = 0\n", a, b); 
	if (a == 0)
	{
		if (b == 0)
			printf("=> Phuong trinh vo so nghiem\n");
		else
			printf("=> Phuong trinh vo nghiem\n");
	}
	else
		printf("=> Phuong trinh co nghiem x = %.2f\n", (float)-b/a);
}

// Bai 5c. Ham giai phuong trinh bac hai ax^2 + bx + c = 0
// Dau vao: 3 he so nguyen a, b, c
// Dau ra: Khong co
void GiaiPTBac2(int a, int b, int c)
{
	printf("Phuong trinh bac hai: %dx^2 + %dx + %d = 0\n", a, b, c);
	if (a == 0)
	{
		// Giai phuong trinh bac 1: bx + c = 0
		GiaiPTBac1(b, c);
	}
	else
	{
		int delta = b*b - 4*a*c;

		if (delta < 0)
			printf("=> Phuong trinh vo nghiem\n");
		else
		{
			if (delta == 0)
				printf("=> Phuong trinh co nghiem kep x1 = x2 = %.2f\n", (float)-b/(2*a));
			else
			{
				float x1 = (float)(-b - sqrt(delta))/(2*a);
				float x2 = (float)(-b + sqrt(delta))/(2*a);
				printf("=> Phuong trih co 2 nghiem phan biet x1 = %.2f, x2 = %.2f\n", x1, x2);
			}
		}
	}
}

// Bai 5d. Ham tim gia tri nho nhat cua 4 so nguyen cho truoc
// Dau vao: 4 so nguyen a, b, c, d
// Dau ra: So nguyen nho nhat
int TimSoNhoNhat(int a, int b, int c, int d)
{
	int min = a;
	if (b < min)
		min = b;
	if (c < min)
		min = c;
	if (d < min)
		min = d;

	return min;
}

// Bai 5e. Viet ham hoan vi gia tri cua 2 so nguyen cho truoc
// Dau vao: 2 so nguyen a, b
// Dau ra: Khong co
void HoanVi(int &a, int &b)
{
	int tam = a;
	a = b;
	b = tam;
}

// Bai 5f. Viet ham sap xep gia tri cua 4 so nguyen cho truoc tang dan
// Dau vao: 4 so nguyen a, b, c, d
// Dau ra: Khong co
void SapXepTang(int &a, int &b, int &c, int &d)
{
	if (a > b)
		HoanVi(a, b);
	if (a > c)
		HoanVi(a, c);
	if (a > d)
		HoanVi(a, d);
	if (b > c)
		HoanVi(b, c);
	if (b > d)
		HoanVi(b, d);
	if (c > d)
		HoanVi(c, d);
}

// Bai 6a. Ham tim so dao cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tim so dao
// Dau ra: So dao cua so nguyen n
int TimSoDao(int n)
{
	int sodao = 0, donvi;

	while (n > 0)
	{
		donvi = n % 10;
		n = n / 10;
		sodao = sodao*10 + donvi;
	}

	return sodao;
}

// Bai 6b. Ham kiem tra mot so nguyen cho truoc co phai la so doi xung hay khong
// Dau vao: So nguyen n can kiem tra doi xung
// Dau ra: 0 neu n khong la so doi xung, 1 neu n la so doi xung
int KiemTraSoDoiXung(int n)
{
	if (n == TimSoDao(n))
		return 1;
	else
		return 0;

	// Hoac return (n == TimSoDao(n));
}

// Bai 6c. Ham kiem tra mot so nguyen cho truoc co phai la so chinh phuong hay khong
// Dau vao: So nguyen n can kiem tra chinh phuong
// Dau ra: 0 neu n khong la so chinh phuong, 1 neu n la so chinh phuong
int KiemTraSoChinhPhuong(int n)
{
	int n_can_nguyen = (int)sqrt(n);
	if (n_can_nguyen*n_can_nguyen == n)
		return 1;
	else
		return 0;

	// Hoac return (n_can_nguyen*n_can_nguyen == n);
}

// Bai 6d. Ham kiem tra mot so nguyen cho truoc co phai la so nguyen to hay khong
// Dau vao: So nguyen n can kiem tra tinh nguyen to
// Dau ra: 0 neu n khong la so nguyen to, 1 neu n la so nguyen to
int KiemTraSoNguyenTo(int n)
{
	int i, souoc = 0;
	for (i = 1; i <= n; i++)
		if (n % i == 0)
			souoc++;

	if (souoc == 2)
		return 1;
	else
		return 0;

	// Hoac return (souoc == 2);
}

// Bai 6e. Ham tinh tong cac chu so le cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tinh tong cac chu so le
// Dau ra: Tong cac chu so le
int TinhTongChuSoLe(int n)
{
	int donvi, tong;

	tong = 0;
	while (n > 0)
	{
		donvi = n % 10;
		n = n / 10;
		if (donvi % 2 != 0)
			tong = tong + donvi;
	}

	return tong;
}

// Bai 6f. Ham tinh tong cac chu so nguyen to cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tinh tong cac chu so nguyen to
// Dau ra: Tong cac chu so nguyen to
int TinhTongChuSoNguyenTo(int n)
{
	int donvi, tong;

	tong = 0;
	while (n > 0)
	{
		donvi = n % 10;
		n = n / 10;
		if (KiemTraSoNguyenTo(donvi) == 1)
			tong = tong + donvi;
	}

	return tong;
}

// Bai 6g. Ham tinh tong cac chu so chinh phuong cua mot so nguyen cho truoc
// Dau vao: So nguyen n can tinh tong cac chu so chinh phuong
// Dau ra: Tong cac chu so chinh phuong
int TinhTongChuSoChinhPhuong(int n)
{
	int donvi, tong;

	tong = 0;
	while (n > 0)
	{
		donvi = n % 10;
		n = n / 10;
		if (KiemTraSoChinhPhuong(donvi) == 1)
			tong = tong + donvi;
	}

	return tong;
}

// Bai 7a. Tinh tong S = 1 + 2 + ... + n
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
int TinhTongBai7a(int n)
{
	int i, s = 0;	
	for (i = 1; i <= n; i++)
		s = s + i;
	
	return s;
}

// Bai 7b. Tinh tong S = 1^2 + 2^2 + ... + n^2
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
int TinhTongBai7b(int n)
{
	int i, s = 0;	
	for (i = 1; i <= n; i++)
		s = s + i*i;
	
	return s;
}

// Bai 7c. Tinh tong S = 1 + 1/2 + ... + 1/n
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
float TinhTongBai7c(int n)
{
	float i, s = 0;
	for (i = 1; i <= n; i++)
		s = s + 1.0/i;
	
	return s;
}

// Bai 7d. Tinh n! = 1*2*3*...*n
// Dau vao: So nguyen n
// Dau ra: n!
int TinhGiaiThua(int n)
{
	int i, gt = 1;
	for (i = 2; i <= n; i++)
		gt = gt * i;
	
	return gt;
}

// Bai 7e. Tinh tong giai thua S = 1! + 2! + ... + n!
// Dau vao: So nguyen n
// Dau ra: Tong can tinh
int TinhTongGiaiThua(int n)
{
	int i, s = 0;
	for (i = 1; i <= n; i++)
		s = s + TinhGiaiThua(i);
	
	return s;
}

// Bai 8. Ham tim USCLN cua 2 so nguyen duong cho truoc
// Dau vao: 2 so nguyen duong a, b
// Dau ra: USCLN cua a va b
int TimUSCLN(int a, int b)
{
	while (a != b)
	{
		if (a > b)
			a = a - b;
		else
			b = b - a;
	}

	return a;
}[/QUOTE][/QUOTE]

NMLT_Tuan 5_Khoa 10_Câu Lệnh Lặp.

Mấy bài này là phần câu lệnh lăp.
// tìm số nguyên dương nhỏ nhất sao cho tổng.

// 1+2 + 3+ ..+ n>1000;
#include <conio.h>
#include <stdio.h>

int main()
{

	int n = 0;
	int tong = 0;
	do
	{
		
		
			
			n = n ++;
			tong = tong + n;
		
	}while(tong <1000);
	printf("So be  nhat thoa man la %d \n", n);
}


//Nhập vào số nguyên dương N. Tính tổng.
// S = 1^2 + 3^2 + ..+ (2*n +1 )^2
#include <conio.h>
#include <stdio.h>
#include <math.h>

int main()
{
	int n,  tong;
	
	tong = 0;
	do
	{
		printf("\nNhap vao so tu nhien N: \n");
		scanf("%d", &n);

	}while(n<0);

	for(int i = 0; i<=n; i++)
	{
		tong= tong + (int ) pow((2*float (i) + 1), 2);

	}
	printf("S= %d\n", tong);
	getch();
}


//Nhập vào số nguyên dương N. 
//Tính tổng các số nguyên tố từ 1-> N.
#include <conio.h>
#include <stdio.h>

void main()
{
	int n; 
	int tong = 0;
	int i; 
	int souoc ;
	int j;
	do
	{
		printf("Nhap vao N: \n");
		scanf("%d", &n);
	}while (n<=0);
	for (i = 2; i<= n; i++)
	{
		souoc = 0;
		for (j = 1; j <= i; j++)
			if (i % j == 0)
				souoc++;

		if (souoc == 2)
			tong = tong + i;
	}
	
	printf("Tong cac so nguyen to tu 1 den  %d la %d\n", n, tong);

}
/*
// tính bài này theo kiểu hàm.
#include <stdio.h>
#include <conio.h>
void nhap();
void main();
void tinhtong()
int songuyento (int n);

void main()
{
	nhap();
	//songuyento (int n);
	//tinhtong(int n);

}

void nhap()
{
	int n;
	do
	{
		printf("Nhap vao N: ");
		scanf("%d", &n);
	}
	while(n<=0);
	
}
int songuyento (int n)
{
	int i;
	
	for(i = 2; i<=n; i++)
		if(n%i==0)
			return 1;
		else
			return 0;

}
int tinhtong(int n)
{

[CODE]}*/

// Nhập vào số nguyên dương N. Xem số N đó có phải là số chính phương hay ko?
#include <conio.h>
#include <stdio.h>
#include <math.h>

void main()
{
	int n;
	int can;
	
	printf("\nNhap N: ");
	scanf("%d", &n);
	
	
		
			
		while(n<0);
		{
			can = int (sqrt(float (n)));
			if(can * can  == n) 
			{
				printf("\nSo %d la so chinh phuong\n", n);
			}
			else
				printf("\n SO %d ko la so chinh phuong\n", n);
		}
}
[/CODE]

//Nhập vào số nguyên dương N. In ra số đảo ngược của N.
#include <conio.h>
#include <stdio.h>

void main()
{
	int n, tem;
	int sodao; 
	do
	{
		printf("\nNhap N:");
		scanf("%d", &n);
	}while(n<=0);
	tem = n;
	printf("\n");
	printf("\tSo dao cua so %d la: \n",tem); 
	printf("\n");
	// trong Khi N đang còn >0 ta lại chia ra.
	while(n>0)//for(;(n>0);)
	{
		sodao = n%10;
		n= n/10;
		//printf("\n");
		printf("\t %d    ", sodao);
		
		//getch();
		// Khi thực hiện các bước khi đã chia các số ra rồi. 
		//Chia được phần đơn vị nào đó.Ta in ra luôn.
		//Quay lên điều kiện vẫn thỏa ta lại chia và xuất ra tiếp.
		// Lí do vì sao ko in ra kết quả ở ngoài vòng lặp.
		//==> Đó là nó chị nhận kết quả cuối cùng thôi.
	}
	
}

//Nhập vào số nguyên dương N.
// In ra số đó theo thứ tự từ trái sang phải, từ phải sang trái.
#include <conio.h>
#include<stdio.h>

void main()
{
	int n, a,b ; 
	
	int tam;

	do
	{
		printf("Nhap N: \n");
		scanf("%d", &n);
	}while(n<0);
	{
		printf("In tu` tra'i sang pha?i :\n");
		a =b= n;
		tam = 1;
		while(tam*10 <=n)
		{
			tam = tam * 10;
		}
		while (tam>0)
		{
			printf(" %d ", n/tam);
			n = n%tam;
			tam = tam /10;
		
		}
	}
	printf("\nIn tu phai qua trai nak:\n");

	while(a>0)
	{
		printf("%d ", a);

		a = b	% 10;
		b = b/10;
		
	}

}


// Nhập vào số nguyên dương, kiểm tra coi có toàn số chẳn hay lẽ ko?
#include <conio.h>
#include <stdio.h>

void main()
{
	int n, m, cohieu;
	
	//int max, min;
	int sochan;
	do
	{
		printf("Nhap N: ");
		scanf("%d", &n);
	}while(n<0);
		m = n;
		cohieu = 1;//mặc định cho nó quy định là số chẳn.
	while(n>0)
	/*{
		sochan = n % 10;
		n = n / 10;
		if(sochan % 2 != 0)
			printf("Ko toan chan");
		continue;
		
		{
			printf("Ko toàn số lẽ");
		}*/
	{
		sochan = n % 10;
		n = n / 10;
		if(sochan % 2 !=0)
			cohieu = 0;
		
		
	}
	if(cohieu ==  1)
	{
		printf("\n\tSo %d la SO TOAN CHAN\a\n", m);

	}
	else
	{
		printf("\n\tSo %d la so KO TOAN CHAN\n\n\a", m);
	}
	
}


// Nhập vào số tìm số lớn nhất, nhỏ nhất của số nguyên dương n;
#include <conio.h>
#include<stdio.h>

void main()
{
	int n, a,b ; 
	int tam, tam1;

	
	
	int ln,  nn;
	ln = 0; 
	nn = 9;
	
	do
	{
		printf("Nhap N: ");
		scanf("%d", &n);
	}while(n<0);
	// Gán tạm giá trị tại đây/
	tam = tam1 = n;
	while (n>0)
	{
		
		a = n%10;
		n = n / 10;
		if(ln < a)
			ln = a;	
		
	}
	while(tam > 0)
	{
		b = tam%10;
		tam = tam / 10;
		if(b<nn)
			nn = b;	
	}

	printf("\n\a%d la so lon nhat cua so %d\n\n", ln, tam1);
	printf("*************************************************************************\n");
	printf("\n\a%d la so Be nhat cua so %d\n\n", nn, tam1);
	
}


// Tính tổng số chính phương từ 1 đến N.
#include <conio.h>
#include <stdio.h>
#include <math.h>


void main()
{
	int n, tam;
	int scp1, scp2, scp3, scp4;
	int tong = 0;
	
	do
	{
		printf("Nhap vao N: ");
		scanf("%d", &n);
	}while(n<0);
	//Xét thấy trong dãy từ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 
	// Thì chỉ duy nhất có số 4 và 9 là số chính phương thôi.
	scp1 = 0;
	scp2 = 1;
	scp3 = 4;
	scp4 = 9;
	tam = n;
	while(n>0)
	{
		tam = n%10;
		n = n/10;
		if(tam == scp1||tam == scp2||tam == scp3||tam == scp4)
		{
			tong = tong + tam;
			printf("\n\aSo chinh phuong la: %d\n", tam);
		}

	}
	printf("\a\nTong cac so chinh phuong la: %d\n", tong);
	getch();
}

// Nhập vào số nguyên dương. Kiểm tra xem số đóa có phải là số hoàn thiện hay ko?
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
	int n, j;
	int souoc;
	int flag;
	int tong;
	do
	{
		printf("Nhap N: ");
		scanf("%d", &n);
	}while(n<0);
	souoc = 0;
	tong = 0;
	
	{
		for(int i = 1; i<n; i++)
			if(n%i == 0)
				tong = tong + i;
		//printf("%d", tong);
				

	}
	if(tong == n)
	{
		printf("la so hoan thien\n")
	}
	else
	{
		printf("Ko la so hoan thien\n");
	}
}


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

void main()
{
	float a, b, c, d, tam;

	printf("Nhap a, b, c, d: ");
	scanf("%f%f%f%f", &a, &b, &c, &d);
	
	if (a > b) 
	{ 
		tam = a; 
		a = b; 
		b = tam; 
	}
	if (a > c) 
	{ 
		tam = a;
		a = c; 
		c = tam;
	}
	if (a > d) 
	{ 
		tam = a;
		a = d; 
		d = tam; 
	}
	if (b > c) 
	{ 
		tam = b;
		b = c;
		c = tam; 
	}
	if (b > d) 
	{ 
		tam = b;
		b = d;
		d = tam;
	}
	if (c > d) 
	{ 
		tam = c;
		c = d; 
		d = tam;
	}

	printf("Cac so theo thu tu tang dan: %0.2f %0.2f %0.2f %0.2f\n", a, b, c, d);
}


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

void main()
{
	int n, st, ss;
	do
	{
		printf("Nhap n: ");
		scanf("%d", &n);
	}
	while (n<=0);

	st = n % 10;
	do
	{
		ss = st;
		n = n / 10;
		st = n % 10;
	} while (n<0&&ss>st);

	if (st < ss)
		printf("Cac chu so tang dan\n");
	else
		if(ss<st)
		{
			printf("Cac chu so giam dan\n");
		}
		

}

NMLT_Tuan 4_Điều Kiện Lặp(TT)

// Tam Giác Pascan.
#include<stdio.h>
#include<conio.h>

int tohop(int n,int k) 
{ 
    if(k==0||k==n) return 1; 
    else 
		return tohop(n-1,k-1)+tohop(n-1,k);     
}
void tam_giac_pascal(int h)
{	
	printf("\a\n\nHinh cua tam giac na`\n\n\a");
	for(int i=0;i<h;i++)
	{	
		for(int j=0;j<=i;j++)

			printf("%6d",tohop(i,j));
			printf("\n");
	}
}
void main()
{   
	int h;
	do
	{
		printf("\n\aNhap vao do cao cua tam giac: \n\a ");
		scanf("%d",&h);
	}while(h<0);
	tam_giac_pascal(h);
	getch();
}

//Tam giác pascan kiểu khác.

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


int main() 
{ 
    int n; 
	int tohop(int n,int k); 
		printf("\n\aNhap chieu cao cua tam giac pascal:\n\a\a\n"); 
		scanf("%d",&n); 
		
		printf("\n\n\aHinh cua tam giac Pascan nè\n\n");
    for(int i=0;i<n;i++) 
		
    { 
		
        for(int j=1;j<=n-i-1;j++) printf("%2s"," "); 
        for(int k=0;k<=i;k++) printf("%-4d",tohop(i,k)); 
        printf("\n"); 
    } 
    return 0; 
} 
int tohop(int n,int k) 
{ 
    if(k==0||k==n) return 1; 
    else return tohop(n-1,k-1)+tohop(n-1,k);     
}  


//Đếm coi có bao nhiêu cặp số thỏa điều kiện 3i + 5j = 100;
#include <conio.h>
#include <stdio.h>

void main()
{
	int i, j;
	int dem;
	dem = 0;
	for(int i = 1; i<=100; i++)
		for(int j = 1; j<=100; j++)
			if(3*i + 5*j==100)
				dem = dem ++;
	printf("Co %d cap nguyen to nguyen duong thoa man dieu kien \n\n", dem);

}

//bai 8:
//Nhập vào số nguyên dương N. Tính tổng các số từ 1 đến n
// thỏa điều kiện không chia hết cho số 5, 7, 11
#include <conio.h>
#include <stdio.h>

void main()
{
	int n, i;
	int j;
	int tong = 0 ;
	int s = 0;
	do
	{
		printf("Nhap ao So Nguyen Duong N: \n\n");
		scanf("%d", &n);
	} while (n <= 0 );
	{
		for(int i = 0; i<=n; i++)
		{
			if(i%5==0||i%7==0||i%11==0)
			{
				s = s + i;
			}
		}
		printf("Tong Nhung so chia het cho 5, 7,11\n\aTong = %d\n\n", s);
		for(int j = 0; j<=n; j++)
		{
		
			tong = tong + j;
		}
		printf("Tong tu 1 -->  n la %d\n\n", tong);
	}
	printf("Tong nhung so ko chia het cho 5, 7, 11 la\a\n\n Tong = %d\n\n", tong - s);
}


//Bai 9:

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

void main()
{
	int n, i, j, souoc, s;
	do
	{
		printf("Nhap ao So Nguyen Duong N: \n\n");
		scanf("%d", &n);
	} while (n <= 0 );

	s = 0;
	for (i = 2; i < n; i++)
	{
		souoc = 0;
		for (j = 1; j <= i; j++)
		{
			if (i % j == 0)
			{
				souoc++;
			}
		}

		if (souoc == 2)
		{
			s = s + i;
		}
	}
printf("Tong cac so Nguyen To la %d\n\n\a\a\a\a\a\a",  s);
	
}


Bai 10:

#include <stdio.h>

void main()
{
	int a, b, uscln;

	do
	{
		printf("Nhap a va b: ");
		scanf("%d%d", &a, &b);
	}
	while (a<=0 || b<=0);

	while (a != b)
	{
		if (a > b)
			a = a - b;
		else
			b = b - a;
	}
	printf("USCLN cua a va b la %d\n", a); 
}

NMLT_IT_10_4_Tuan_3_Cấu Trúc Rẽ Nhánh (TT)

[COLOR=crimson]//Viết chương trình nhập vào độ dài 3 cạnh của tam giác ABC
//(a=BC, b= CA, c=AB)
//a. Hỏi tam giác có thỏa điều kiện độ dài ba cạnh của một tam giác. ABC cân ko? Nếu có cân tại đâu?
//b. Hỏi tam giác ABC có vuông  ko? Vuông tại đâu.
//c. Tính diễn tích tam giác ABC. Biết rằng diện tích tam giác ABC được tính theo công thức sau: S= căn(p(p-a)(p-b)(p-c)).
//d. Tính bán kính đường tròn nội tiếp tam giác ABC được tính theo công thức sau: s= can((p-a)(p-b)(p-c))/(p)/ Với P là nữa chu vi[/COLOR]
#include <conio.h>
#include <stdio.h>
#include <math.h>

void main()
{
	// Gán a= bc, b=Ca, c=ab;
	float a, b, c;
	float p,r, S;

	do
	{
		printf("Nhap vao 3 canh cua tam giac: \n");
		scanf("%f%f%f", &a, &b, &c);
	}while(a<0||b<0||c<0);
	{
		if(a==b)
		{
			printf("Tam giac can tai C\n\n"); 
		}
		if(a==c)
		{
			printf("tam giac nay can tai B\n\n");

		}
		if(b==c)
		{
			printf("Tam giac can tai A\n\n");
		}
		if(a*a+b*b==c*c)
		{
			printf("Tam giac nay vuong tai C\n\n");
		}
		if(a*a+c*c==b*b)
		{
			printf("Tam giac nay vuong tai B\n\n");
		}
		if(b*b+c*c==a*a)
		{
			printf("Tam giac nay vuong tai A\n\n");
		}
		p=(a+b+c)/2;
		printf("Chu vi= %0.2f\n\n", p);
		////////////////////////////////////////////////
		S= sqrt((p*(p-a)*(p-b)*(p-c)));
		printf("Dt Tam ABC = %0.2f\n\n", S);
		///////////////////////////////////////////////
		r= sqrt(((p-a)*(p-b)*(p-c))/(p));
		printf("Ban Kinh DT Noi Tiep ABC = %0.2f\n\n", r);
		

	}
	getch();
}

//Viết chương trình nhập vào 2 điểm O(xO, yO), p(xP, yP) và một số thực R.
// (xO, yO, xP, yP) cũng nhận các giá trị thực.
//a. Tính chu vi đường tròn (O, R)
//b. Tính diện tích đường tròn (o, R)
//c. In ra màn hình vị trí tương đối của điểm P đối với các đường tròn (O, R).
// In ra màn hình vị trí tương đối của đường tròn (O, R) với các đường tròn (P, R);
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PI 3.14

void main()
{
	float xO, yO, xP, yP;
	float r;
	float C, S;
	float PO;
	printf("Nhap vao O(xO, yO), P(xP, yP): \n");
	scanf("%f%f%f%f", &xO, &yO, &xP, &yP);
	printf("\n");
	do
	{
		printf("Nhap vao so Thuc R: \n");
		scanf("%f", &r);
	}while(r<0);
	{
	
		C = 2*PI*r;// Tính chu vi của đường tròn
		S = PI*pow(r,2);
		printf("\n\n");
		printf(" Cau a: Chu Vi cua duong tron (O, R)\n\n		C = %0.2f\n\n", C);
		printf(" Cau b: dien tich cua duong tron (O, R)\n\n		S = %0.2f\n\n", S);
	}
	PO= sqrt((pow((xP-xO),2)+pow((yP-yO), 2))); // tính chiều dài của đoạn PO để so sánh với điểm R
	printf("***************Cau C******************\n\n");
	if((PO-r)==0)// Tiếp xúc ngoài với đường tròn
	{
		printf("Doan Thang PO = %0.2f =  r= %0.2f\n\nDiem P tiep xuc voi duong tron (O,R)\n\n", PO ,r);
	}
	else
	{
		if((PO -r) > 0)// trường hợp ko có tiếp xúc với đường tròn
		{
			printf("Doan Thang PO = %0.2f> r= %0.2f\n\nDiem P nam ngoài duong tron (O, R)\n\n", PO, r);
		}
		else // 
		{
			printf(" Doan Thang PO = %0.2f< r= %0.2f\n\nDiem P Nam trong Duong tron (O, R)\n\n",PO, r );
			printf("\n");
		}
	}
		printf("***************Cau C******************\n\n");
		// ta phải tính được 
		
}

[COLOR=crimson]// Nhập vào hai số a, b. Biết rằng a là giá trị giờ còn b là giá trị phút của một đồng hồ trong hệ 24 giờ.
// Hãy in ra màn hình thời gian trong hệ 12 h tương ứng.
#include <conio.h>
#include <stdio.h>
#include <math.h>[/COLOR]

void main()
{
		int a, b;
		
		printf("Nhap vao a gio, b la phut:\n");
		scanf("%d%d", &a,&b);
	
		if(a==24&&b<=59)
		{
			printf("%d-24 h:%d phut AM\n", a, b);
		}
		else
		{
			if(a<12&&b<=59)
				{
					printf("%d h:%d Phut AM\n", a, b); 
				}
			if(a==12&&b<=59)
				{
					printf("%d Gio:%d Phut PM\n", a, b); 
				}
			if(a>12&&a<24&&b<=59)
			{
				a= a- 12;
				printf("%d Gio:%d Phut PM\n", a, b); 
			}
		}
		
		
}
		


[COLOR=orangered]// giải phương trình bậc nhất 2 ẩn số.[/COLOR]

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

void main()
{
	float x, y;
	int a, a1, b, b1, c, c1;
	int D, Dx, Dy;
	printf("Nhap vao a, a1, b, b1, c, c1: \n");
	scanf("%d%d%d%d%d%d", &a, &a1, &b, &b1, &c, &c1);
	D= a*b1 - a1*b;
	Dx= a*b1 - c1*b;
	Dy= a*c1 - a1*c;
	if(D==0)
	{
		if(Dx!=0||Dy!=0)
		{
			printf("Phuong trinh Vo nghiem\n");return;

		}
		if(Dx==0&&Dy==0)
		{
			printf("Phuong trinh vo so nghiem\n"); return;
		}
	}
	else
	{
		x= float (Dx)/D;

		y= float (Dy)/D;
		printf("Phuong trinh co 2 nghiem duy nhat:\n x= %.2f\n y= %.2f\n", x, y);
	}


}


[COLOR=orangered]//Viết chương trình nhập ngày, tháng, năm. Tính xem ngày đó có hợp lệ hay ko?
// Tính thứ trong tuần của ngày đó.[/COLOR]

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

void main()
{
	int ngay, thang, nam;
	int top;
	int ngay_cua_tuan;
	printf("Nhap vao ngay, thang, nam: \n");
	scanf("%d%d%d", &ngay, &thang, &nam);

	if(thang < 1|| thang >12)
	{
		 printf("Ban Nhap Thang = %d la ko co hop le! :( \n", thang); return ;	
	}
	
	switch(thang)
	{
		case 4:
		case 6:
		case 9:
		case 11: 
			top = 30;
		case 2:
			{
				if(nam % 4==0&& nam %100 !=0|| nam %400==0)
				{
					top = 29;
				}
				else
				{
					top = 28;
				}
			}
		default:
			top = 31;
		
		if(ngay < 1|| ngay > top)
		{
			printf("Ngay = %d la ngay ko co hop le.\n\n", ngay);
		}
		else
		{
			printf("Ngay = %d  hop le.\n\n", ngay);
		}

		printf("------------Y tiep theo-------------\n\n");
		printf("Thang %d co %d ngay\n\n", thang, ngay);
		printf("------------Y Cuoi cung -------------\n\n");
		
		nam  = nam - (14 - thang)/12;
		thang  = thang + (12*( (14-thang)/12 ) -2);
		ngay_cua_tuan = ( ngay + nam + nam/4 - nam/100 + nam/400 + ( 31*thang )/12 ) %7;
		if(! ngay_cua_tuan)
		{
			printf("Ngay %d Thang %d Nam %d la ngay chu nhat\n\n", ngay, thang, nam);
		}
		else
		{
			ngay_cua_tuan= ngay_cua_tuan + 1;
			printf("Ngay %d Thang %d Nam %d la ngay Thu %d\n\n", ngay, thang, nam, ngay_cua_tuan);
		}
		

	}



	 
}


// Nhập vào số Kw điện, tính tiền điện phải trả, biết khung giờ như sau!.
// 0-100kw-> 500 đ.
// 101- 250kw -> 800 đ
// 251 - 350 -> 1000 đ.
// 351 -> ../-> 1500 đ/ kw
#include <stdio.h>
#include <conio.h>
#define m1 500
#define m2 800
#define m3 1000
#define m4 1500

void main()
{
	int thang_truoc, thang_nay;
	int m_dien;
	int tien;

	do
	{
		printf("-----------Thuc Hien By Tai Hanh-------------\n\n");
		printf("Nhap vao so KW thang truoc nha minh dung: \n\n");
		scanf("%d", &thang_truoc);
		printf("Nhap vao so KW thang nay nha minh dung: \n\n");
		scanf("%d", &thang_nay);
	}while(thang_truoc<0|| thang_nay<0||thang_nay < thang_truoc);

		m_dien = thang_nay - thang_truoc;
	if(m_dien<=100)
	{
		tien = m_dien*m1;
		
	}
	if(m_dien>100&&m_dien <=250)
	{
		tien = 100*m1 + (m_dien - 100)*m2;
	}
	if(m_dien>250&&m_dien<= 350)
	{
		tien = 100*m1 + 150*m2 + (m_dien - 250)*m3;
	}
	if(m_dien >350)
	{
		tien = 100*m1 + 150*m2 + 100*m3 + (m_dien - 250)*m4;
			
	}
	
	printf("So KW nha ban dung thang truoc la: %d\n\n%d  dong la so tien dien phai tra!\n\n", m_dien,tien);
	if(tien > 250000)
	{
		printf("Thang nay ban dung lon hon 250 000 ngan dong\n\n BAN PHAI DUNG TIET KIEM LAI THOI!!!! \n");
	}
	getch();
}


//Viết chương trình nhập vào 2 điểm O(xO, yO), p(xP, yP) và một số thực R.
// (xO, yO, xP, yP) cũng nhận các giá trị thực.
//a. Tính chu vi đường tròn (O, R)
//b. Tính diện tích đường tròn (o, R)
//c. In ra màn hình vị trí tương đối của điểm P đối với các đường tròn (O, R).
// In ra màn hình vị trí tương đối của đường tròn (O, R) với các đường tròn (P, R);
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PI 3.14

void main()
{
	float xO, yO, xP, yP;
	float r;
	float C, S;
	float PO;
	printf("Nhap vao O(xO, yO), P(xP, yP): \n");
	scanf("%f%f%f%f", &xO, &yO, &xP, &yP);
	printf("\n");
	do
	{
		printf("Nhap vao so Thuc R: \n");
		scanf("%f", &r);
	}while(r<0);
	{
	
		C = 2*PI*r;// Tính chu vi của đường tròn
		S = PI*pow(r,2);
		printf("\n\n");
		printf(" Cau a: Chu Vi cua duong tron (O, R)\n\n		C = %0.2f Don VI\n\n", C);
		printf(" Cau b: dien tich cua duong tron (O, R)\n\n		S = %0.2f Don vi dien tich\n\n", S);
	}
	PO= sqrt((pow((xP-xO),2)+pow((yP-yO), 2))); // tính chiều dài của đoạn PO để so sánh với điểm R
	printf("***************Cau C******************\n\n");
	if((PO-r)==0)// Tiếp xúc ngoài với đường tròn
	{
		printf("Doan Thang PO = %0.2f =  r= %0.2f\n\nDiem P tiep xuc voi duong tron (O,R)\n\n", PO ,r);
	}
	else
	{
		if((PO -r) > 0)// trường hợp ko có tiếp xúc với đường tròn
		{
			printf("Doan Thang PO = %0.2f> r= %0.2f\n\nDiem P nam ngoài duong tron (O, R)\n\n", PO, r);
		}
		else // 
		{
			printf(" Doan Thang PO = %0.2f< r= %0.2f\n\nDiem P Nam trong Duong tron (O, R)\n\n",PO, r );
			printf("\n");
		}
	}
		printf("***************Cau C******************\n\n");
		// Trường hợp này thầy cho là Tính khoảng cách OP sau đó so sánh với bán kính R)
		// 
	if(PO==0)
	{
		printf("Duong tron (O, R) va (P, R) trung nhau\n\n");// Vì hai cái này có chung 1 bán kính và trùng tâm.
	}
	if(PO>0&&PO<2*r)
	{
		printf("Duong tron (O, R) và (P, R) cat nhau tai 2 Diem Phan Biet\n\n"); 

	}
	if(PO==2*r)
	{
		printf("Duong tron (O, R) va (P, R) tiep xuc nhau\n\n");
	}
	if(PO>2*r)
	{
		printf("(O, R) va (P, R) ko co tiep xuc voi nhau\n\n");
	}
	getch();
		
}