25. Nhập vào hai số nguyên a, b. In ra màn hình giá trị lớn nhất.
#include <conio.h>
#include <stdio.h>
void main()
{
int a, b, max;
printf("Nhap a: "); scanf("%d",&a);
printf("Nhap b: "); scanf("%d",&b);
if (a<b) max=b; else max=a;
printf("\nGia tri lon nhat: %d",max);
getch();
}
26. Cho ba số a, b, c đọc vào từ bàn phím. Hãy tìm giá trị
lớn nhất của ba số trên và in ra kết quả.
#include <conio.h>
#include <stdio.h>
void main()
{
int a, b, c, max;
printf("Nhap a, b, c: "); scanf("%d %d
%d",&a,&b,&c);
max=a;
if (max<b) max=b;
if (max<c) max=c;
printf("\nGia tri lon nhat: %d",max);
getch();
}
27. Cho ba số a,
b, c đọc vào từ bàn phím. Hãy in ra màn hình theo thứ tự tăng dần các số. (Chỉ
được dùng thêm hai biến phụ).
#include
<conio.h>
#include
<stdio.h>
void
main()
{
int a, b, c;
printf("Nhap a: ");
scanf("%d",&a);
printf("Nhap b: ");
scanf("%d",&b);
printf("Nhap c: ");
scanf("%d",&c);
if (a>b)
{
a=a+b;
b=a-b;
a=a-b;
}
if (b>c)
{
b=b+c;
c=b-c;
b=b-c;
}
if (a>b)
{
a=a+b;
b=a-b;
a=a-b;
}
printf("\nThu tu tang dan cac so: %d
%d %d",a, b, c);
getch();
}
28. Giải và biện luận phương trình bậc nhất: ax + b=0
#include <conio.h>
#include <stdio.h>
void main()
{
float a, b, x;
printf("Nhap cac he so cua phuong trinh bac 1: ax +
b=0");
printf("\nNhap a, b: "); scanf("%d
%d",&a,&b);
x=-b/a;
if (a==0) printf("\nPhuong trinh vo nghiem");
else printf("\nPhuong trinh co nghiem x= %f",x);
getch();
}
29. Giải và biện
luận phương trình bậc hai: ax2 + bx + c=0
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{
float a, b, c, del, x1, x2, x;
do
{
printf("\nNhap cac he so cua phuong trinh bac 2:
ax^2+bx+c=0");
printf("\nNhap a, b, c: "); scanf("%f %f %f",&a,&b,&c);
} while (a==0);
del=(b*b)-(4*a*c);
x1=(-b+sqrt(del))/(2*a);
x2=(-b-sqrt(del))/(2*a);
x=-b/a;
if (del>0)
{
printf("\nPhuong trinh co 2 nghiem phan biet: ");
printf("\nx1= %f \tx2= %f",x1,x2);
}
else if (del==0)
{
printf("\nPhuong trinh co nghiem kep: ");
printf("\nx= %f",x);
}
else printf("\nPhuong
trinh vo nghiem.");
getch();
}
30. Giải và biện
luận phương trình trùng phương: ax4 + bx2 + c=0
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{
float a, b, c, del, x1, x2, x;
do
{
printf("\nNhap cac he so cua phuong
trinh bac 2: ax^4 + bx^2+c=0");
printf("\nNhap a, b, c: ");
scanf("%f %f %f",&a,&b,&c);
} while (a==0);
del=(b*b)-(4*a*c);
x1=(-b+sqrt(del))/(2*a);
x2=(-b-sqrt(del))/(2*a);
x=-b/a;
if (del>0)
{
if (x1==0)
{
if(x2==0) printf("\nPhuong
trinh co 1 nghiem x=0");
if(x2>0)
{
printf("\nPhuong trinh co
3 nghiem phan biet: ");
printf("\nx1= 0 \tx2= %f
\tx3= %f",sqrt(x2),-sqrt(x2));
}
} else if (x1>0)
{
if (x2==0)
{
printf("\nPhuong
trinh co 3 nghiem phan biet: ");
printf("\nx1= 0
\tx2= %f \tx3= %f",sqrt(x1),-sqrt(x1));
}
if (x2>0)
{
printf("\nPhuong
trinh co 4 nghiem phan biet: ");
printf("\nx1= %f \tx2= %f \tx3= %f \tx4=
%f",sqrt(x1),-sqrt(x1),sqrt(x2),-sqrt(x2));
}
if (x2<0)
{
printf("\nPhuong
trinh co 2 nghiem phan biet: ");
printf("\nx1= %f
\tx2= %f",sqrt(x1),-sqrt(x1));
}
} else
// x1<0
{
if (x2<0)
printf("\nPhuong trinh vo nghiem.");
if (x2>0)
{
printf("\nPhuong
trinh co 2 nghiem phan biet: ");
printf("\nx1= %f
\tx2= %f",sqrt(x2),-sqrt(x2));
}
}
} else
if (del==0)
{
if (x>0)
{
printf("\nPhuong trinh co
2 nghiem phan biet: ");
printf("\nx1=%f
\tx2=%f",sqrt(x),-sqrt(x));
}
if (x<0) printf("\nPhuong
trinh vo nghiem.");
if (x==0) printf("\nPhuong
trinh co 1 nghiem: x=0.");
} else
printf("\nPhuong trinh vo nghiem.");
getch();
}
31. Viết chương
trình nhập vào một số nguyên n gồm ba chữ số. Xuất ra màn hình chữ số lớn nhất ở
vị trí nào?
Ví dụ:
n=291. Chữ số lớn nhất nằm ở hàng chục (chữ số 9).
#include <conio.h>
#include <stdio.h>
void main()
{
int n, a, b, c;
printf("\nNhap n gom 3 chu so: ");
scanf("%d",&n);
a=n%10;
b=(n/10)%10;
c=n/100;
if (n>100 && n<1000)
{
if (a>b && a>c)
printf("\nSo lon nhat la %d o hang don vi.",a);
if (b>a && b>c)
printf("\nSo lon nhat la %d o hang don chuc.",b);
if (c>a && c>b)
printf("\nSo lon nhat la %d o hang don tram.",c);
} else printf("\nNhap sai!");
getch();
}
* Bài 31 mở rộng với nhiều chữ số (dùng while và switch):
#include <conio.h>
#include <stdio.h>
void main()
{
int n, max, b=1, i=1;
printf("Nhap so nguyen n: ");
scanf("%d",&n);
max=n%10;
while (n>0)
{
if (max<n%10)
{
max=n%10;
b=i;
}
n=n/10;
i++;
}
printf("\nChu so lon nhat la %d o vi tri: ",max);
switch (b)
{
case 1: printf("don vi"); break;
case 2: printf("hang chuc"); break;
case 3: printf("hang tram"); break;
case 4: printf("hang nghin"); break;
/*mở rộng với nhiều chữ số*/
}
getch();
}
32. Viết chương
trình nhập vào một số nguyên n gồm ba chữ số. Xuất ra màn hình theo thứ tự tăng
dần của các số?
Ví dụ:
n=291. Xuất ra 129.
#include <conio.h>
#include <stdio.h>
void main()
{
int a, b, c;
printf("Nhap a: "); scanf("%d",&a);
printf("Nhap b: "); scanf("%d",&b);
printf("Nhap c: "); scanf("%d",&c);
if (a>b)
{
a=a+b;
b=a-b;
a=a-b;
}
if (b>c)
{
b=b+c;
c=b-c;
b=b-c;
}
if (a>b)
{
a=a+b;
b=a-b;
a=a-b;
}
printf("\nThu tu tang dan cac so: %d %d %d",a, b, c);
getch();
}
33. Viết chương
trình nhập vào năm hợp lệ. Cho biết năm này có phải là năm nhuận hay không? In
kết quả ra màn hình.
#include <conio.h>
#include <stdio.h>
void main()
{
int nam;
printf("\nNhap nam: ");
scanf("%d",&nam);
if (nam%4==0)
{
if (nam%100!=0 || nam%400==0)
printf("\nNam %d la nam nhuan!",nam);
} else printf("\nNam %d khong la nam nhuan!",nam);
getch();
}
34. Nhập vào tháng
và 1 năm. In ra số ngày tối đa trong tháng của năm đó. (theo lịch tây).
#include <conio.h>
#include <stdio.h>
void main()
{
int t, n;
printf("\nNhap thang: ");
scanf("%d",&t);
printf("\nNhap nam: "); scanf("%d",&n);
switch(t)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
printf("\nThang %d nam %d co 31 ngay!",t,n);
break;
case 4: case 6: case 9: case 11:
printf("\nThang %d nam %d co 30 ngay!",t,n);
break;
case 2: if ((n%4==0) && ((n%100!=0)||(n%400==0)))
printf("\nThang %d nam %d co 29 ngay!",t,n);
else printf("\nThang %d nam %d co 28
ngay!",t,n); break;
default: printf("\nNhap thang sai!");
}
getch();
}
35. Nhập vào ngày,
tháng, năm. Kiểm tra xem ngày, tháng, năm đó có hợp lệ hay không, in kết quả ra
màn hình.
#include <conio.h>
#include <stdio.h>
void main()
{
int t, n, na;
printf("\nNhap ngay: "); scanf("%d",&n);
printf("\nNhap thang: ");
scanf("%d",&t);
printf("\nNhap nam: "); scanf("%d",&na);
switch(t)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
{
if (n>=1 && n<=31) printf("\Nhap
hop le!");
else printf("\nNhap ngay sai!");
} break;
case 4: case 6: case 9: case 11:
{
if (n>=1 && n<=30) printf("\nNhap
hop le!");
else printf("\nNhap ngay sai!");
} break;
case 2:
{
if ((na%4==0) && ((na%100!=0)||(na%400==0)))
if (n>=1 && n<=29)
printf("\nNhap hop le");
else printf("\nNhap ngay sai!");
else
if (n>=1 && n<=28)
printf("\Nhap hop le");
else printf("\nNhap ngay sai!");
} break;
default: printf("\nNhap thang sai!");
}
getch();
}
36. Nhập vào giờ,
phút, giây. Kiểm tra xem giờ, phút, giây đó có hợp lệ không, in kết quả ra màn
hình.
#include
<conio.h>
#include
<stdio.h>
void
main()
{
int h, p, s;
printf("\nNhap gio: ");
scanf("%d",&h);
printf("\nNhap phut: ");
scanf("%d",&p);
printf("\nNhap giay: ");
scanf("%d",&s);
if (h>=1 && h <=24 &&
p>=1 && p<=60 && s>=1 && s<=60 )
printf("\n%d:%d:%d la hop
le!",h,p,s);
else printf("\n%d:%d:%d la
sai!",h,p,s);
getch();
}
38. Viết chương
trình tính tiền cước Taxi. Nhập số km, sau đó in ra số tiền phải trả.
#include <conio.h>
#include <stdio.h>
void main()
{
int n;
printf("Nhap so Km da di: ");
scanf("%d",&n);
if (n>0)
{
if (n<1) printf("\nTong tien: 13000 VND");
if (n<=30) printf("\nTong tien: %d
VND",13000+(n-1)*12000);
if(n>30) printf("\nTong tien: %d VND",13000+30*12000+(n-30)*11000);
}
getch();
}
39. Nhập vào 3 số
nguyên dương. Cho biết 3 số đó có lập thành tam giác không?
Nếu có hãy cho biết tam giác đó thuộc loại nào? (vuông,
cân, đều)
#include <conio.h>
#include <stdio.h>
void main()
{
int a, b, c;
printf("Nhap do dai 3
canh cua tam giac: "); scanf("%d %d%d", &a, &b, &c);
if ((a==0)||(b==0)||(c==0))
printf("\nDay khong phai tam giac!");
else
if
((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b))
printf("\nDay la tam giac vuong!");
else
if (a==b && a==c)
printf("\nDay la tam giac deu!");
else
if
((a==b)||(a==c)||(b==c))
printf("\nDay la tam giac can!");
else
printf("\nDay
la tam giac thuong!");
getch();
}
40. Nhập vào số
nguyên dương x. Kiểm tra x có phải là số chính phương không?
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{
int x,b;
printf("Nhap vao so
nguyen x: ");
scanf("%d",&x);
b=sqrt(x);
if (b*b==x)
printf("\n%d la so chinh phuong: %d=%d^2",x,x,b);
else
printf("\n%d khong la so chinh
phuong!",x);
getch();
}
48. Viết chương
trình in ra màn hình hình chữ nhật đặc có kích thước m x n (m, n nhập từ bàn
phím).
#include <conio.h>
#include <stdio.h>
void main()
{
int m, n, i, j;
printf("\nNhap chieu
dai: "); scanf("%d",&m);
printf("\nNhap chieu
rong: "); scanf("%d",&n);
printf("\n");
for (i=1; i<=n; i++)
{
for (j=1; j<=m; j++)
printf("* ");
printf("\n\n");
}
getch();
}
49. Viết chương
trình in ra màn hình hình chữ nhật rỗng có kích thước m x n (m, n nhập từ bàn
phím).
#include <conio.h>
#include <stdio.h>
void main()
{
int m, n, i, j;
printf("\nNhap chieu
dai: "); scanf("%d",&m);
printf("\nNhap chieu
rong: "); scanf("%d",&n);
printf("\n");
for (i=1; i<=n; i++)
{
if ((i==1)||(i==n))
for
(j=1; j<=m ; j++)
printf("* ");
else
for
(j=1; j<=m ; j++)
if
((j==1)||(j==m))
printf("* ");
else
printf(" ");
printf("\n\n");
}
getch();
}
50. Viết chương
trình in ra màn hình tam giác vuông cân đặc có độ cao h (h nhập từ bàn phím).
#include <conio.h>
#include <stdio.h>
void main()
{
int h, i, j;
printf("Nhap chieu cao cua tam giac: ");
scanf("%d",&h);
printf("\n");
for
(i=1; i<=h; i++)
{
for
(j=1; j<=i; j++)
printf("*
");
printf("\n\n");
}
getch();
}
51. Viết chương
trình in ra màn hình tam giác vuông rỗng đặc có độ cao h (h nhập từ bàn phím).
#include <conio.h>
#include <stdio.h>
void main()
{
int h, i, j;
printf("\nNhap chieu cao cua tam giac: ");
scanf("%d",&h);
printf("\n");
for
(i=1; i<=h; i++)
{
if (i==h)
for (j=1;j<=i;j++) printf("* ");
else
for
(j=1; j<=i; j++)
if
(j==1||j==i) printf("* ");
else printf(" ");
printf("\n\n");
}
getch();
}
52. Viết chương
trình in ra màn hình tam giác cân đặc có độ cao h (h nhập từ bàn phím).
#include <conio.h>
#include <stdio.h>
void main()
{ int h, i, j, k;
printf("Nhap chieu cao h: ");
scanf("%d",&h);
printf("\n");
for (i=1; i<=h; i++)
{
for (j=1; j<=h-i; j++) printf(" ");
for (k=1; k<=2*i-1; k++) printf("* ");
printf("\n\n");
}
getch();
}
53. Nhập vào 2 số
nguyên dương a và b. Tìm ước chung lớn nhất của a và b.
#include <conio.h>
#include <stdio.h>
void main()
{
int a, b, c, d;
printf("\nNhap hai so a, b: ");
scanf("%d %d",&a, &b);
c=a;
d=b;
while (a!=b)
if (a>b) a=a-b;
else b=b-a;
printf("\nUCLN cua %d va %d la: %d",c,d,a);
getch();
}
54. Nhập vào 2 số
nguyên dương a và b. Tìm bội chung nhỏ nhất của a và b.
#include
<conio.h>
#include
<stdio.h>
void
main()
{
int a, b, c, d;
printf("\nNhap hai so a, b: ");
scanf("%d %d",&a, &b);
c=a;
d=b;
while (a!=b)
if (a>b) a=a-b;
else b=b-a;
printf("\nBCNN cua %d va %d la:
%d",c,d,(c*d)/a);
getch();
}
55. Nhập vào số
nguyên dương x. Kiểm tra x có phải là số nguyên tố không? (Số nguyên tố là số
chỉ chia hết cho 1 và chính nó. VD: 2,
3, 5, 7,…).
#include <conio.h>
#include <stdio.h>
void main()
{
int x, i, dem=0;
printf("Nhap x: ");
scanf("%d", &x);
printf("\nSo %d ",x);
for (i=1; i<=x; i++)
{
if (x%i==0)
dem++;
}
if (dem==2) printf("la so nguyen to!");
else printf("khong la so nguyen to!");
getch();
}
56. Nhập vào số
nguyên dương x. Kiểm tra x có phải là số hoàn thiện không? (Một số hoàn thiện
là một số có tổng các ước của nó (không kể nó) bằng chính nó.
VD: 6 là số hoàn thiện, vì tổng các ước số là 1+2+3=6.
#include <conio.h>
#include <stdio.h>
void main()
{
int x, i, s=0;
printf("\nNhap x: "); scanf("%d",&x);
for (i=1; i<x; i++)
if (x%i==0) s=s+i;
if (s==x) printf("\nSo %d la so hoan thien!",x);
else printf("\nSo %d khong la so hoan thien!",x);
getch();
}
57. Viết chương
trình nhập vào số nguyên dương n. Liệt kê số nguyên tố từ 2 đến n.
#include <conio.h>
#include <stdio.h>
void main()
{
int n, i, j, dem;
printf("Nhap n: "); scanf("%d",&n);
printf("\nKet qua: ");
for (i=2; i<=n; i++)
{
dem=0;
for (j=2;j<i;j++)
if (i%j==0) dem++;
if (dem==0) printf("%d\t",i);
}
getch();
}
58. Viết chương
trình nhập vào số nguyên dương n. Liệt kê n số nguyên tố đầu tiên.
#include <conio.h>
#include <stdio.h>
void main()
{
int n, i, j, dem;
printf("Nhap n: "); scanf("%d",&n);
printf("\nKet qua: \n");
for (i=2; n>0; i++)
{
dem=0;
for (j=2;j<i;j++)
if (i%j==0) dem++;
if (dem==0)
{
printf("%d\t",i);
n--;
}
}
getch();
}
59. Viết chương
trình nhập vào một số nguyên gồm tối đa 10 chữ số (4 bytes). In ra màn hình giá
trị nhị phân của số trên.
#include <conio.h>
#include
<stdio.h>
#include
<math.h>
void
main()
{
int n,i=0;
long temp=0;
printf("Nhap N: ");
scanf("%d",&n);
printf("\nHe nhi phan: ");
while(n>0)
{
temp=temp+(n%2)*pow(10,i);
i++;
n=n/2;
}
printf("%d",temp);
getch();
}
60. Viết chương
trình đếm số ước số của số nguyên dương N.
#include
<conio.h>
#include
<stdio.h>
void
main()
{
int n, i, dem=0;
printf("Nhap N: ");
scanf("%d",&n);
for (i=1; i<=n; i++)
if (n%i==0) dem++;
printf("So uoc so cua %d la %d",
n, dem);
getch();
}
với n>0.
#include
<conio.h>
#include
<stdio.h>
void
main()
{
float n, i, t=0, gt=1, s=0;
do
{
printf("\nNhap n: ");
scanf("%f",&n);
} while (n<=0);
for (i=1; i<=n; i++)
{
t=t+i;
gt=gt*i;
s=s+(t/gt);
}
printf("\nKet qua: S= %.2f",s);
getch();
}
VIẾT
CHƯƠNG TRÌNH THEO THỦ TỤC HÀM
74. Viết chương
trình tính diện tích và chu vi hình chữ nhật với chiều dài và chiều rộng được
nhập từ bàn phím.
#include
<conio.h>
#include
<stdio.h>
int
chuvi(int a, int b)
{
int cv;
cv=(a+b)*2;
return cv;
}
int
dientich(int a, int b)
{
int dt;
dt=a*b;
return dt;
}
void
main()
{
int a, b;
printf("Nhap a: ");
scanf("%d",&a);
printf("Nhap b: ");
scanf("%d",&b);
if (a>0 && b>0)
{
printf("\nChu vi HCN la: C=
%d",chuvi(a,b));
printf("\nDien tich HCN la: S=
%d",dientich(a,b));
} else printf("\nNhap sai!");
getch();
}
75. Viết chương
trình tính diện tích và chu vi hình tròn với bán kính r được nhập từ bàn phím.
#include
<conio.h>
#include
<stdio.h>
float
chuvi(float r)
{
float cv;
cv=2*3.14*r;
return cv;
}
float
dientich(float r)
{
float dt;
dt=3.14*(r*r);
return dt;
}
void
main()
{
float r, c, s;
printf("Nhap ban kinh r: "); scanf("%f",&r);
c=chuvi(r);
s=dientich(r);
if (r>0)
{
printf("\nChu vi hinh tron la: C=
%.2f",c);
printf("\nDien tich hinh tron la:
S= %.2f",s);
} else printf("\nNhap sai!");
getch();
}
