# Nguyễn Tài Hạnh

ĐH KHTN HCM.

## 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)
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;
}
{
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++;
}

}
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;
}
}

*/
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);
{
printf("%d Co dang 3^k\n", n);
}
break;
{
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;
}
}
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;
}

}

// 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;
}

}

// 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;
}

}

// 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
}
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;
}  ```

```//Đế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();

}```
June 2013
M T W T F S S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30