Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
Bài 1. Dem so lan xuat hien cac ky tu trong chuoi !
#include <stdio.h>
#include <ctype.h>
void main()
{
char chuoi[80];
int i = 0, count = 0;
printf("\nNhap vao mot chuoi bat ky : ");
gets(chuoi);
while (chuoi[i] != 0)
{
if (isalpha(chuoi[i++]))
count++;
}
printf("So ky tu trong chuoi = %d", count);
getch();
}
Bài 2. Giai phuong trinh bac hai AX2 + BX + C = 0!
#include <stdio.h>
#include <math.h>
void main()
{
float a, b, c, delta;
printf("\nGiai phuong trinh bac hai AXý + BX + C = 0");
printf("\nCho biet ba he so A B C : ");
scanf("%f%f%f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta<0)
printf("Phuong trinh vo nghiem");
else if (delta == 0)
printf("Phuong trinh co nghiem kep x1 = x2 = %f", -b/(2*a));
else
{
printf("Pt co hai nghiem phan biet\nx1 = %f", (-b + sqrt(delta))/
(2*a));
printf("\nx2 = %f", (-b - sqrt(delta))/(2*a));
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
}
getch();
}
Bài 3. Giai phuong trinh bac nhat AX + B = 0!
#include <stdio.h>
void main()
{
float a, b;
printf("\nGiai phuong trinh bac nhat AX + B = 0");
printf("\nCho biet ba he so A B : ");
scanf("%f%f", &a, &b);
if (a==0)
if (b!=0)
printf("Phuong trinh vo nghiem");
else
printf("Phuong trinh co nghiem khong xac dinh");
else
printf("Dap so cua phuong trinh tren = %f", -b/a);
getch();
}
Bài 4. In ra nam am lich tuong ung voi nam nhap vao!
#include <stdio.h>
void main()
{
unsigned nam;
char can[ ][5] = {"Giap", "At", "Binh", "Dinh", "Mau", "Ky",
"Canh", "Tan", "Nham",
"Quy"};
char chi[ ][5] = {"Ty", "Suu", "Dan", "Meo", "Thin", "Ty",
"Ngo", "Mao", "Than", "Dau", "Tuat",
"Hoi"};
printf("\nNhap nam can biet : ");
scanf("%d", &nam);
printf("Nam am lich cua %d la %s %s", nam, can[(nam+6)%10],
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
chi[(nam+8)%1
2]);
getch();
}
Bài 5. In bang cuu chuong!
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
int i, j;
char chuoi[ ] = "B A N G C U U C H U O N G";
char ten[10][5] = {"","","Hai", "Ba", "Bon", "Nam",
"Sau", "Bay", "Tam",
"Chin"};
clrscr();
textcolor(YELLOW);
gotoxy((80 - strlen(chuoi)) / 2, 1);
cprintf("%s\n\n", chuoi);
for (i=2; i<=9; i++)
{
gotoxy(10*(i-2) + (10 - strlen(ten[i]))/2, 4);
textcolor(i);
cprintf("%s", ten[i]);
}
for (j=1; j<=10; j++)
for (i=2; i<=9; i++)
{
gotoxy(10*(i-2) + 1, j+4);
textcolor(i);
cprintf("%dx%2d = %2d", i, j, i*j);
}
getch();
}
Bài 6. Cau truc va cac ham thao tac len so phuc!
#include <math.h>
typedef struct tagcomplex {
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
float thuc, ao;
} complex;
complex tong(complex a, complex b)
{
complex c;
c.thuc = a.thuc + b.thuc;
c.ao = a.ao + b.ao;
return c;
}
complex hieu(complex a, complex b)
{
complex c;
c.thuc = a.thuc - b.thuc;
c.ao = a.ao - b.ao;
return c;
}
complex tich(complex a, complex b)
{
complex c;
c.thuc = a.thuc*b.thuc - a.ao*b.ao;
c.ao = a.thuc*b.ao + a.ao*b.thuc;
return c;
}
complex thuong(complex a, complex b)
{
complex c;
float tongbp;
tongbp = b.thuc*b.thuc + b.ao*b.ao;
c.thuc = (a.thuc*a.ao + b.thuc*b.ao)/tongbp;
c.ao = (a.ao*b.thuc - a.thuc*b.ao)/tongbp;
return c;
}
float argument(complex a)
{
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
return acos(a.thuc/sqrt(a.thuc*a.thuc + a.ao*a.ao));
}
float modul(complex a)
{
return sqrt(a.thuc*a.thuc + a.ao*a.ao);
}
void print_complex(complex a)
{
printf("%.2f + %.2fi", a.thuc, a.ao);
}
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
void main()
{
complex a, b, c;
printf("\nNhap he so thuc va phuc cua A : ");
scanf("%f%f", &a.thuc, &a.ao);
printf("\nNhap he so thuc va phuc cua B : ");
scanf("%f%f", &b.thuc, &b.ao);
printf("\nSo phuc A = ");
print_complex(a);
printf("\nSo phuc B = ");
print_complex(b);
printf("\nTong cua chung = ");
c = tong(a, b);
print_complex(c);
printf("\nHieu cua chung = ");
c = hieu(a, b);
print_complex(c);
printf("\nTich cua chung = ");
c = tich(a, b);
print_complex(c);
printf("\nThuong cua chung = ");
c = thuong(a, b);
print_complex(c);
printf("\nArgument cua a = %f", argument(a));
printf("\nModul cua a = %f", modul(a));
getch();
}
Bài 7. Tinh thu cua ngay!
#include <stdio.h>
struct date
{
int month;
int day;
int year;
} date_1;
long int funct1 (int y, int m)
{
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
long int result;
if ( m <= 2 )
y -= 1;
result = y;
return (result);
}
long int funct2 (int m)
{
long int result;
if ( m <= 2 )
result = m + 13;
else result = m + 1;
return(result);
}
long int day_count (int m, int d, int y)
{
long int number;
number = 1461 * funct1(y,m) / 4 + 153 * funct2(m) / 5 + d;
return (number);
}
void main ()
{
long int number_of_days1;
int day_of_week;
printf ("Nhap vao mot ngay (dd mm yyyy), vd 12 03 1999 \n");
scanf ("%d %d %d", &date_1.day, &date_1.month, &date_1.year);
number_of_days1 = day_count (date_1.month, date_1.day,
date_1.year);
printf ("\nNgay la : " );
day_of_week = (number_of_days1 - 621049) % 7;
switch (day_of_week)
{
case 0 : printf ("Chu Nhat,");
break;
case 1 : printf ("Thu Hai,");
break;
case 2 : printf ("Thu Ba,");
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
break;
case 3 : printf ("Thu Tu,");
break;
case 4 : printf ("Thu Nam,");
break;
case 5 : printf ("Thu Sau,");
break;
case 6 : printf ("Thu Bay,");
break;
}
getch();
}
Bài 8. Dao nguoc chuoi!
char *dnchuoi(char *s)
{
char *tmp, i;
i = 0;
tmp = (char *)malloc(strlen(s)+1);
while (i<strlen(s))
*(tmp+i) = *(s + strlen(s) - i++ - 1);
*(tmp+i) = 0;
return tmp;
}
void main()
{
char hello[] = "Hello World";
char *s;
printf("\nChuoi ban dau = %s", hello);
s = dnchuoi(hello);
printf("\nChuoi dao nguoc = %s", s);
getch();
}
Bài 9. Doi so tu co so n sang gia tri so co so m!
#include <stdio.h>
#include <string.h>
char *doics(char *number, int n, int m)
{
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
static char ketqua[17];
char chuso[16] = "0123456789ABCDEF";
int i = 0, giatri = 0, len;
len = strlen(number);
while(i<len) {
giatri = giatri * n + (strchr(chuso, number[i]) - &chuso);
i++;
}
i=16;
ketqua[17] = 0;
do {
ketqua[i] = chuso[giatri % m];
giatri /= m;
i ;
} while (giatri > 0);
return (ketqua + i + 1);
}
void main()
{
unsigned n, m;
char number[17], *ketqua;
do {
printf("\nNhap gia tri N (2 - 16) : ");
scanf("%d", &n);
} while (n<2 || n>16);
getchar();
printf("Gia tri thuoc he %d : ", n);
gets(number);
do {
printf("Nhap gia tri M (2 - 16) : ");
scanf("%d", &m);
} while (m<2 || m>16);
printf("Gia tri %s o co so %u co gia tri o co so %u la : ", number, n, m);
ketqua = doics(number, n, m);
puts(ketqua);
getch();
}
Bài 10. Tim phuong an doi tien!
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
#include <stdio.h>
#define TONGSOTIEN 300000
void main()
{
long i, j, k, l, m, count=0, soluong = 0;
for (i=0; i<=TONGSOTIEN/1000; i++)
for (j=0; j<=TONGSOTIEN/2000; j++)
for (k=0; k<=TONGSOTIEN/5000; k++)
for (l=0; l<=TONGSOTIEN/10000; l++)
for (m=0; m<=TONGSOTIEN/20000; m++)
{
if ((i*1000 + j*2000 + k*5000 + l*10000 +
m*20000) ==
TONGSOTIE
N)
printf("\n%5ld - %5ld%5ld%5ld%5ld%5ld", +
+count, i, j,
k, l, m);
soluong++;
}
printf("so luong = %ld", soluong);
getch();
}
Bài 11. Tim chuoi doi xung!
void main()
{
char chuoi[125];
int i = 0, j;
printf("\nNhap vao chuoi kiem tra : ");
gets(chuoi);
j = strlen(chuoi) - 1;
while(chuoi[i++] == chuoi[j ]);
if ( i>=++j)
printf("Chuoi doi xung");
else
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
printf("Chuoi khong doi xung");
getch();
}
Bài 12. Day co fai la day giam!
#include <stdio.h>
void main()
{
int a[10], i;
printf("\nNhap vao 10 phan tu nguyen cua day : ");
for (i=0; i<10; i++)
scanf("%d", &a[i]);
i = 1;
while (a[i] <= a[i-1] && i<10)
i++;
if (i==10)
printf("Day da cho la day giam");
else
printf("Day da cho khong la day giam");
getch();
}
Bài 13. In day so Fibonanci!
#include <stdio.h>
void main()
{
int n, i, fib1 = 1, fib2 = 1, fib = 2;
printf("\nNhap gia tri N : ");
scanf("%d", &n);
printf("%d %d ", fib1, fib2);
while (fib1+fib2 < n)
{
fib = fib1 + fib2;
printf("%d ", fib);
fib2 = fib1;
fib1 = fib;
}
getch();
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
}
Bài 14. Ham tinh N!
#include <stdio.h>
unsigned long giaithua(int n)
{
unsigned long ketqua = 1;
int i;
for (i=2; i<=n; i++)
ketqua *= i;
return ketqua;
}
void main()
{
int n;
printf("\nNhap vao gia tri N : ");
scanf("%d", &n);
printf("%d! = %lu", n, giaithua(n));
getch();
}
Bài 15. In so Hex tuong ung voi mot so nguyen duong!
#include <stdio.h>
void main()
{
unsigned number;
char hex[ ] = "0123456789ABCDEF";
printf("\nNhap vao mot gia tri nguyen duong 16 bit : ");
scanf("%u", &number);
printf("Gia tri Hex tuong ung = %c%c%c%c",
hex[number/0x1000], hex[(number/0x100)%0x10],
hex[(number/0x10)%0x10], hex[number%0x10]);
getch();
}
Bài 16. Tinh dien tich cac hinh hoc!
#include <stdio.h>
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
#include <conio.h>
#include <math.h>
int menu()
{ int c;
printf("\n Menu ");
printf("\n1. Hinh tam giac");
printf("\n2. Hinh tron");
printf("\n3. Hinh vuong");
printf("\n4. Hinh chu nhat");
printf("\n0. Thoat\n ");
printf("\nChon muc : ");
do {
c = getch();
} while (c>'4' || c<'0');
putc(c, stdout);
return c -'0';
}
void hinhtamgiac()
{ int a, b, c;
float p;
printf("\n\nNhap vao ba canh tam giac : ");
scanf("%d%d%d", &a, &b, &c);
printf("\nChu vi tam giac = %d", a+b+c);
p = (float)(a + b + c)/2;
printf("\nDien tich tam giac = %lf", sqrt(p*(p-a)*(p-b)*(p-c)));
getch();
}
void hinhtron()
{ int r;
printf("\n\nNhap vao ban kinh hinh tron : ");
scanf("%d", &r);
printf("\nChu vi hinh tron = %f", 2 * M_PI * r);
printf("\nDien tich hinh tron = %f", M_PI * r * r);
getch();
}
void hinhvuong()
{ int a;
printf("\n\nNhap vao canh hinh vuong : ");
scanf("%d", &a);
printf("\nChu vi hinh tron = %d", 4 * a);
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
printf("\nDien tich hinh vuong = %d", a * a);
getch();
}
void hinhchunhat()
{
int a, b;
printf("\n\nNhap vao cac canh hinh chu nhat : ");
scanf("%d%d", &a, &b);
printf("\nChu vi hinh chu nhat = %d", 2 * (a+b));
printf("\nDien tich hinh chu nhat = %d", b * a);
getch();
}
void main()
{
int chon;
do {
chon = menu();
switch(chon)
{
case 1 : hinhtamgiac();
break;
case 2 : hinhtron();
break;
case 3 : hinhvuong();
break;
case 4 : hinhchunhat();
break;
}
} while (chon != 0);
}
Bài 17. Liet ke tat cac cac hoan vi cua n phan tu!
#include <stdio.h>
#define MAX 10
int mang[MAX], n;
void swap (int *x, int *y)
{
int tmp;
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
tmp = *x;
*x = *y;
*y = tmp;
}
void hoanvi(int k)
{
int j;
if (k==1)
{
printf("\n");
for (j=0; j<n; j++)
printf("%d ", mang[j]);
}
else
for (j=k-1; j>=0; j )
{
swap(&mang[k-1], &mang[j]);
hoanvi(k-1);
swap(&mang[j], &mang[k-1]);
}
}
void main()
{
int i;
printf("\nCho biet so phan tu (N < 10) : ");
scanf("%d", &n);
for (i=0; i<n; i++)
mang[i] = i;
hoanvi(n);
getch();
}
Bài 18. Giai he phuong trinh bac nhat!
#include <stdio.h>
void main()
{
int a, b, c, d, e, f, dthuc;
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
float x, y;
printf("\nNhap vao cac he so a,b,c,d,e,f : ");
scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);
dthuc = b*d - e*a;
if (dthuc != 0)
{
y = (float)(c*d-a*f)/dthuc;
x = (float)(b*f-c*e)/dthuc;
printf("Nghiem x = %f, y = %f", x, y);
}
else printf("\nHe phuong trinh vo ngiem.");
getch();
}
Bài 19. In chu so phan tram, chuc, don vi!
#include <stdio.h>
void main()
{
int n, tram, chuc, donvi;
printf("\nNhap vao mot so tu 100 - 999 : ");
scanf("%d", &n);
tram = n;
donvi = tram % 10;
tram /= 10;
chuc = tram % 10;
tram /= 10;
printf("\nSo hang tram = %d", tram);
printf("\nSo hang chuc = %d", chuc);
printf("\nSo hang don vi = %d", donvi);
getch();
}
Bài 20. Ma hoa chuoi!
#include <stdio.h>
void main()
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
{
char chuoi[50], khoa;
int i, len;
printf("\nNhap vao chuoi can ma hoa : ");
gets(chuoi);
printf("Cho biet khoa : ");
khoa = getch();
len = strlen(chuoi);
for (i=0; i<len; i++)
chuoi[i] ^= khoa;
printf("\nChuoi da duoc ma hoa thanh : %s", chuoi);
printf("\nNhan phim bat ky de giai ma.");
getch();
for (i=0; i<len; i++)
chuoi[i] ^= khoa;
printf("\nChuoi da duoc giai ma : %s", chuoi);
getch();
}
Bài 21. Tim phan tu lon nhat va nho nhat trong mang 1 chieu!
#include <conio.h>
#include <stdlib.h>
void main()
{
int mang[20];
int i, minval, maxval;
/* Khoi tao mang ngau nhien */
randomize();
for (i=0; i<20; i++)
mang[i] = random(100);
/* Tim gia tri lon nhat va nho nhat */
minval = maxval = mang[0];
for (i=1; i<20; i++)
{
if (maxval < mang[i])
maxval = mang[i];
else if (minval > mang[i])
minval = mang[i];
}
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
/* In mang */
clrscr();
for (i=0; i<20; i++)
{
if (mang[i] == maxval)
textcolor(YELLOW);
else if (mang[i] == minval)
textcolor(RED);
else
textcolor(WHITE);
cprintf("%3d", mang[i]);
}
getch();
}
Bài 22. Tinh xem so N co phai la so nguyen to khong?
#include <stdio.h>
#include <math.h>
void main()
{
int N, i, OK = 1;
printf("\nNhap gia tri N : ");
scanf("%d", &N);
for (i=2; i<(int)sqrt(N); i++)
if (N%i == 0)
{
OK = 0;
break;
}
if (OK)
printf("\nSo %d la so nguyen to.", N);
else
printf("\nSo %d khong phai la so nguyen to.", N);
getch();
}
Bài 23. Phan so!
#include <stdio.h>
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
int USCLN(int a, int b)
{
a = abs(a);
b = abs(b);
while (a != 0 && b != 0)
if (a > b)
a -= b;
else
b -= a;
if (a == 0) return b;
else return a;
}
int BSCNN(int a, int b)
{
return a * b / USCLN(a, b);
}
typedef struct tagphanso {
int tuso, mauso;
} PHANSO;
PHANSO uocluoc(PHANSO a)
{
PHANSO c;
c.tuso = a.tuso / USCLN(a.tuso, a.mauso);
c.mauso = a.mauso / USCLN(a.tuso, a.mauso);
return c;
}
PHANSO cong(PHANSO a, PHANSO b)
{
PHANSO c;
c.tuso = a.tuso * b.mauso + a.mauso * b.tuso;
c.mauso = a.mauso * b.mauso;
c = uocluoc(c);
return c;
}
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
PHANSO tru(PHANSO a, PHANSO b)
{
PHANSO c;
c.tuso = a.tuso * b.mauso - a.mauso * b.tuso;
c.mauso = a.mauso * b.mauso;
c = uocluoc(c);
return c;
}
PHANSO nhan(PHANSO a, PHANSO b)
{
PHANSO c;
c.tuso = a.tuso * b.tuso;
c.mauso = a.mauso * b.mauso;
c = uocluoc(c);
return c;
}
PHANSO chia(PHANSO a, PHANSO b)
{
PHANSO c;
c.tuso = a.tuso * b.mauso;
c.mauso = a.mauso * b.tuso;
c = uocluoc(c);
return c;
}
void print(PHANSO a)
{
printf("%d/%d", a.tuso, a.mauso);
}
void main()
{ PHANSO a, b, c;
printf("\nNhap phan so a : ");
scanf("%d%d", &a.tuso, &a.mauso);
printf("\nNhap phan so b : ");
scanf("%d%d", &b.tuso, &b.mauso);
printf("\nToi gian a ta duoc : ");
a = uocluoc(a);
print(a);
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
printf("\nToi gian b ta duoc : ");
b = uocluoc(b);
print(b);
printf("\nTong cua hai phan so = ");
c = cong(a, b);
print(c);
printf("\nHieu cua hai phan so = ");
c = tru(a, b);
print(c);
printf("\nTich cua hai phan so = ");
c = nhan(a, b);
print(c);
printf("\nThuong cua hai phan so = ");
c = chia(a, b);
print(c);
getch();
}
Bài 24. Tính t ng 2 ma tr n a, b. V i c[n][m] = a[n][m] + b[n][m]. a, b cho ổ ậ ớ
tr c.ướ
Bài 25. Tính tích 2 ma tr n a, b. V i c[m][k] = a[n][m] x b[m][k]. a, b cho ậ ớ
tr c.ướ
Bài 26. S d ng các phép bi n i trên dòng/c t a MT a[n][m] v d ng ử ụ ế đổ ộ đểđư ề ạ
b c thang dòng /c t.ậ ộ
Bài 27. Tính nh th c mt a[n][m] (det|a|).đị ứ
Bài 28. Xét v trí t ng i gi a 2 ng tròn (theo tr c Oxy).ị ươ đố ữ đườ ụ
Bài 29. Xét v trí t ng i gi a ng th ng và ng tròn (theo tr c ị ươ đố ữ đườ ẳ đườ ụ
Oxy).
Bài 30. Tính chu vi 1 a giác b t kì (theo tr c Oxy).đ ấ ụ
Bài 31. Cho 1 ng th ng và 2 i m A, B b t kì, ki m tra xem A, B có n mđườ ẳ đ ể ấ ể ằ
cùng 1 h ng v i ng th ng ko (theo tr c Oxy).ướ ớ đườ ẳ ụ
Bài 32. Ki m tra xem 1 a giác có ph i g l i hay ko (theo tr c Oxy).ể đ ả đ ồ ụ
Bài 33. Xét v trí t ng i c a 1 i m A b t kì i v i 1 a giác ị ươ đố ủ đ ể ấ đố ớ đ (theo tr c ụ
Oxy).
Bài 34. Vi t ch ng trình nh p vào ngày d, tháng t, n m y, xác nh s h pế ươ ậ ă đị ự ợ
l c a chúng. Ví d d=35, t=6, y= 1999 thì không h p l . ý r ng ngày dệ ủ ụ ợ ệ Để ằ
là h p l n u d nh h n ho c b ng ngày l n nh t trong tháng ó. Riêngợ ệ ế ỏ ơ ặ ằ ớ ấ đ
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
tháng 2 n m nhu n có 29 ngày, các n m không nhu n tháng 2 có 28ă ậ ă ậ
ngày. Các tháng 1, 3, 5, 7, 8, 10, 12 có 31 ngày. Các tháng 4, 6,9, 11 có 30
ngày. Nên dùng c u trúc switch cài t.ấ để đặ
#include<stdio.h>
#include<conio.h>
///
void Nhap(int *d, int *m, int *y)
{
printf("\nNhap ngay thang nam: ");
scanf("%d %d %d",&*d,&*m,&*y);
}
///
int KiemTraThang(int m)
{
int kt;
kt=(m<13)? 1 : 0;
return kt;
}
///
int KiemTraNgay(int d, int m, int y)
{
int kt;
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
kt=(d<32)? 1 : 0;
break;
}
case 4:
case 6:
case 9:
case 11:
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
{
kt=(d<31)? 1 : 0;
break;
}
default:
{
if (y%4==0)
kt=(d<30)? 1 : 0;
else kt=(d<29)? 1 : 0;
}
}
return kt;
}
///
void main()
{
int kt;
int d,m,y;
Nhap(&d, &m, &y);
kt=KiemTraThang(m);
if (kt==0)
kt=KiemTraNgay(d, m, y);
printf("%d/%d/%d: ",d,m,y);
if (kt==1)
{
kt=KiemTraNgay(d, m, y);
if (kt==1)
printf("Ngay hop le.");
else
printf("Ngay khong hop le.");
}
else
printf("Ngay khong hop le.");
getch();
}
Bài 35. Vi t ch ng trình c p phát ng m t m ng, sau ó nh p n s ế ươ ấ độ ộ ả đ ậ ố
nguyên vào m ng, tìm giá tr nh nhì trong các giá tr ã nh p.ả ị ỏ ị đ ậ
// C p phát và nh p m ng ngấ ậ ả độ
void NhapMang(int*a[ ], int n)
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
{
// Nh p s ph n t nậ ố ầ ử
a = new int[n];
// Nh p các ph n t c a m ngậ ầ ử ủ ả
}
// tìm giá tr nh nh t trong m ngị ỏ ấ ả
int NhoNhat( int a[ ],int n )
{
int lc = a[0];
for(int i =0; i<n; i++)
if(lc > a[i])
lc = a[i];
return lc;
}
//tìm gt nh nhìỏ
int NhoNhi(int a[ ],int n)
{
int min = NhoNhat(a,n);
// tìm 1 giá tr b t ký trong a[ ] khác giá tr nh nh t gán cho bi n lcị ấ ị ỏ ấ ế
for(int i = 0; i<n; i++)
if(a[i] != min )
{
int lc = a[i];
break;
}
// tìm gt nh nhìỏ
for(i = 0; i<n; i++)
if(lc > a[i] && a[i] != min)
lc = a[i];
return lc;
}
//void Nhap(int a[]) > void Nhap(int &a[]) hay void SapTang(int a[]) > void
SapTang(int &a[])
Bài 36. Vi t hàm NHAP có ch c n ng nh p n s nguyên vào m t m ng,ế ứ ă ậ ố ộ ả
hàm SAP_XEP có ch c n ng s p x p m ng theo th t t ng d n, hàmứ ă ắ ế ả ứ ự ă ầ
HIEN_THI có ch c n ng in m t m ng ra màn hình. Sau ó vi t ch ngứ ă ộ ả đ ế ươ
trình chính s d ng nh ng hàm này.ử ụ ữ
include<stdio.h>
#include<conio.h>
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ
Bài t p Ngôn ng L p trình C C b nậ ữ ậ ơ ả
const MAX = 10;
int n;
///
void NhapN()
{
do{
printf("nhap so phan tu (n>0 va n<=10): ");
scanf("%d",&n);
} while ((n>MAX) || (n<1));
}///
void Nhap(int a[ ])
{
for (int i=0; i<n; i++)
{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
}
}
///
void Xuat(int a[])
{
for (int i=0; i<n; i++)
{
printf("%d ",a[i]);
}
}
void SapTang(int a[])
{
int temp;
for (int i=0; i<n-1; i++)
for (int j=i+1; j<n; j++)
{
if (a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
Ôn thi Liên thông vào Cao ng Công ngh Thông tinđẳ ệ