Tải bản đầy đủ (.doc) (32 trang)

Bài tập Ngôn ngữ Lập trình C Cơ bản Ôn thi Liên thông vào Cao đẳng Công nghệ Thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (194.78 KB, 32 trang )

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đẳ ệ

×