Trên đây là chương trình cơ bản của lập trình CC++ . VD: giải phương trình bậc 2, nhập xuất mảng, sắp xếp mảng, in ra dãy sô hoàn hảo, số nguyên tố, số chính phương, nhập 3 cạnh a,b,c xét tam giác, tìm max min, tìm UCLN và BCNN của 2 số...và cũng là các bài có trong thi môn thực hành tin học đại cương của Trường Đại học Bách Khoa Đại học Đà Nẵng
Trang 1Câu 1 Viết chương trình in ra màn hình dãy sô nguyên tố bé hơn n nhập từ bàn phím.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int ktnt (int n)
{
if (n<2) return 0;
for (int i=2;i<=sqrt(n);i++)
{
if(n%i==0) return 0;
}
return 1;
}
main()
{
int n,i;
printf("nhap n= "),scanf("%d",&n);
printf("Day so nguyen to be hon %d la: ",n);
for(i=1;i<n;i++) if(ktnt(i)==1) printf("%5d",i);
getch();
}
Câu 1 Viết chương trình in ra màn hình dãy sô hoan hảo bé hơn n nhập từ bàn phím.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int kt(int n)
{
int s=0;
for (int i=1;i<=n/2;i++)
{
if(n%i==0) s=s+i;
}
if(s==n)return 1;
else return 0;
}
main()
{
int n,i;
printf("nhap n="),scanf("%d",&n);
printf("Day so hoan hao be hon %d la: ",n);
for(i=1;i<n;i++)
Trang 2if(kt(i)==1) printf("%5d",i);
getch();
}
Câu 1 Viết chương trình in ra màn hình dãy sô chinh phương bé hơn n nhập
từ bàn phím.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int kt(int n)
{
for (int i=1;i<=sqrt(n);i++)
{
if(i*i==n) return 1;
}
return 0;
}
main()
{
int n,i;
printf("nhap n="),scanf("%d",&n);
printf("Day so chinh phuong be hon %d la: ",n);
for(i=1;i<n;i++) if(kt(i)==1) printf("%5d",i);
getch();
}
Câu 1 Viết chương trình in ra màn hình dãy số tự đối xứng bé hơn n nhập từ bàn phím.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int ktdx (int k)
{
int t,daok=0;
t=k;
while(t>0)
{
daok=daok*10+(t%10);
t=t/10;
}
if(daok==k) return 1;
else return 0;
}
main()
Trang 3int n,i;
printf("nhap n:"),scanf("%d",&n);
printf("Day so tu doi xung be hon %d la: ",n);
for(i=1;i<n;i++) if(ktdx(i)==1) printf("%5d",i);
getch();
}
Câu 1 Viết chương trình in ra màn hình dãy sô Fibonacci bé hơn n nhập từ bàn phím.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int Fib(int n)
{
int F1=0,F2=1,F3;
while(F1<n)
{
F3=F1+F2;
printf("%5d",F1);
F1=F2;
F2=F3;
}
}
main()
{
int n,i;
printf("nhap n= "),scanf("%d",&n);
printf("Day so Fibonacci be hon %d la: ",n);Fib(n);
getch();
}
Câu 1 Tìm UCLN và BCNN của 2 số a và b nhập từ bàn phím.
#include <stdio.h>
#include <math.h>
#include <conio.h>
int UCLN(int a, int b)
{
int r;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
Trang 4int BCNN(int a, int b)
{
return (a*b/UCLN(a,b));
}
main()
{
int a,b;
printf("nhap a= "),scanf("%d",&a);
printf("nhap b= "),scanf("%d",&b);
printf("\nUCLN(%d,%d)=%d ",a,b,UCLN(a,b));
printf("\n\nBCNN(%d,%d)=%d ",a,b,BCNN(a,b));
getch();
}
Câu 1 Giải phương trình bậc 2.
#include <stdio.h>
#include <math.h>
#include <conio.h>
void ktpt (float a,float b,float c)
{
if (a==0)
{
if(b==0) {
if (c==0) printf ("Phuong trinh vo so nghiem.");
else printf ("Phuong trinh vo nghiem.");
} else printf("Phuong trinh co 1 nghiem duy nhat x=%0.2f",-c/b);
}
else
{
float d=b*b-4*a*c;
if (d<0) printf("Phuong trinh vo nghiem.");
else if(d==0) printf("Phuong trinh co nghiem kep x1= x2= %0.2f",-b/(2*a)); else printf ("Phuong trinh co 2 nghiem phan biet: x1= %0.2f %5
x2= %0.2f",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
}
}
main()
{
float a,b,c;
printf("nhap a:"),scanf("%f",&a);
printf("nhap b:"),scanf("%f",&b);
printf("nhap c:"),scanf("%f",&c);
ktpt(a,b,c);
getch();
}
Trang 5Câu 1 Tam giác.
#include <stdio.h>
#include <math.h>
#include <conio.h>
void kttg (float a,float b,float c)
{
if ((a>0) && (b>0) && (c>0) && (a+b>c) && (b+c>a) && (a+c>b))
{
if((a==b) && (b==c)&& (c==a)) printf ("a,b,c la 3 canh cua 1 tam giac deu.");
else if((a==b) || (b==c) || (c==a)) printf("a,b,c la 3 canh cua 1 tam giac can.");
else if ((a*a==b*b+c*c) || (b*b==a*a+c*c) || (c*c==a*a+b*b)) printf ("a,b,c la 3 canh cua 1 tam giac vuong.");
else printf("a,b,c la 3 canh cua 1 tam giac thuong.");
}
else printf("a,b,c khong phai la 3 canh cua 1 tam giac.");
}
main()
{
float a,b,c;
printf("nhap a:"),scanf("%f",&a);
printf("nhap b:"),scanf("%f",&b);
printf("nhap c:"),scanf("%f",&c);
kttg(a,b,c);
getch();
}
Câu 2a Xuất nhập mảng.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
printf("\nMang vua nhap la:");
for (int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
}
main()
Trang 6int n;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
xuat(a,n);
getch();
}
Câu 2 Xuất ra màn hình các số nguyên tố có trong mảng
#include <conio.h>
#include <math.h>
#include <stdio.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
printf("\nMang moi nhap la:");
for(int i=0;i<n;i++)
{
printf("%5d",a[i]);
}
}
int kt(int k)
{
if(k<2) return 0;
for(int i=2;i<=sqrt(k);i++)
{
if(k%i==0) return 0;
}
return 1;
}
void xuat_nt(int a[], int n)
{
for(int i=0;i<n;i++)
{
if(kt(a[i])==1) {
printf("%5d",a[i]);
Trang 7}
}
}
main()
{
int n,dem=0;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
xuat(a,n);
for(int i=0;i<n;i++)
{
if(kt(a[i])==1) {
dem++;
}
}
if (dem==0) printf("\n\nKhong co so nguyen to trong mang.");
else printf("\n\nSo nguyen to co trong mang la:"); xuat_nt(a,n);
getch();
}
Câu 2 Xuất ra màn hình các số hoàn hảo có trong mảng.
#include <conio.h>
#include <math.h>
#include <stdio.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
printf("\nMang moi nhap la:");
for(int i=0;i<n;i++)
{
printf("%5d",a[i]);
}
}
int kt(int k)
{
int s=0;
for(int i=1;i<=k/2;i++)
Trang 8if(k%i==0) s=s+i;
}
if (s==k) return 1;
else return 0;
}
void xuat_shh(int a[], int n)
{
for(int i=0;i<n;i++)
{
if(kt(a[i])==1) {
printf("%5d",a[i]);
}
}
}
main()
{
int n,dem=0;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
xuat(a,n);
for(int i=0;i<n;i++)
{
if(kt(a[i])==1) {
dem++;
}
}
if (dem==0) printf("\n\nKhong co so hoan hao trong mang.");
else printf("\n\nSo hoan hao co trong mang la:"); xuat_shh(a,n);
getch();
}
Câu 2 Xuất ra màn hình các số tự đối xứng có trong mảng.
#include <conio.h>
#include <math.h>
#include <stdio.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[],int n)
Trang 9printf("\nMang moi nhap la:");
for(int i=0;i<n;i++)
{
printf("%5d",a[i]);
}
}
int kt(int k)
{
int s=0, t;
t=k;
while(t>0)
{
s=s*10 + t%10;
t=t/10;
}
if (s==k) return 1;
else return 0;
}
void xuat_dx(int a[], int n)
{
for(int i=0;i<n;i++)
{
if(kt(a[i])==1) {
printf("%5d",a[i]);
}
}
}
main()
{
int n,dem=0;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
xuat(a,n);
for(int i=0;i<n;i++)
{
if(kt(a[i])==1) {
dem++;
}
}
if (dem==0) printf("\n\nKhong co so tu doi xung trong mang."); else printf("\n\nSo tu doi xung co trong mang la:"); xuat_dx(a,n);
getch();
}
Trang 10Câu 2 Sắp xếp mảng theo thứ tự giảm dần.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
for (int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
}
void sx(int a[],int n)
{
int r;
for(int i=0; i<n; i++)
for (int j=i+1;j<n; j++)
{
if (a[i]<a[j])
{
r=a[i];
a[i]=a[j];
a[j]=r;
}
}
xuat(a,n);
}
main()
{
int n;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
printf("\nMang vua nhap la:");xuat(a,n);
printf("\n\nMang sau khi sap xep giam dan la:");sx(a,n); getch();
}
Trang 11
Câu 2 Sắp xếp mảng theo thứ tự tăng dần.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
for (int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
}
void sx(int a[],int n)
{
int r;
for(int i=0; i<n; i++)
for (int j=i+1;j<n; j++)
{
if (a[i]>a[j]) //neu SX giam dan thi thay dau > thanh dau < {
r=a[i];
a[i]=a[j];
a[j]=r;
}
}
xuat(a,n);
}
main()
{
int n;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
printf("\nMang vua nhap la:");xuat(a,n);
printf("\n\nMang sau khi sap xep tang dan la:");sx(a,n);
getch();
}
Trang 12
Câu 2 Tìm max trong mảng.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
for (int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
}
int max(int a[], int n)
{
int s=a[0];
for (int i=0;i<n;i++)
{
if (s<a[i]) s=a[i];
}
return s;
}
main()
{
int n;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
printf("\nMang vua nhap la:"); xuat(a,n);
printf("\n\nMax cua mang la:");
for (int i=0;i<n;i++)
{
if (max(a,n)==a[i]) printf("%10 a[%d]= %d",i,a[i]); }
getch();
}
Câu 2 Tìm min trong mảng.
#include <conio.h>
Trang 13#include <stdio.h>
#include <math.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
for (int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
}
int min(int a[], int n)
{
int s=a[0];
for (int i=0;i<n;i++)
{
if (s>a[i]) s=a[i]; //neu tim max thi s<a[i] }
return s;
}
main()
{
int n;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
printf("\nMang vua nhap la:"); xuat(a,n);
printf("\n\nMin cua mang la:");
for (int i=0;i<n;i++)
{
if (min(a,n)==a[i]) printf("%10 a[%d]= %d",i,a[i]); }
getch();
}
Câu 2 Tìm max-min trong mảng.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void nhap(int a[],int n)
Trang 14for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
for (int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
}
int max(int a[], int n)
{
int s=a[0];
for (int i=0;i<n;i++)
{
if (s<a[i]) s=a[i];
}
return s;
}
int min(int a[], int n)
{
int s=a[0];
for (int i=0;i<n;i++)
{
if (s>a[i]) s=a[i];
}
return s;
}
main()
{
int n;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
printf("\nMang vua nhap la:"); xuat(a,n);
printf("\n\nMax cua mang la:");
for (int i=0;i<n;i++)
{
if (max(a,n)==a[i]) printf("%10 a[%d]= %d",i,a[i]); }
printf("\n\nMin cua mang la:");
for (int i=0;i<n;i++)
{
Trang 15if (min(a,n)==a[i]) printf("%10 a[%d]= %d",i,a[i]); }
getch();
}
Câu 2 Đảo mảng.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void nhap(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf ("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
for (int i=0;i<n;i++)
{
printf("%4d",a[i]);
}
}
void dao_mang(int a[], int n)
{
int r;
for(int i=0; i<n/2;i++)
{
r=a[i];
a[i]=a[n-i-1];
a[n-i-1]=r;
}
xuat(a,n);
}
main()
{
int n;
printf("Nhap so phan tu cua mang n= ");
scanf("%d",&n);
int a[n];
nhap(a,n);
printf("\nMang vua nhap la:");xuat(a,n);
printf("\n\nMang sau khi dao la:");dao_mang(a,n); getch();
}