20 câu CKỹ Thuật Lập Trình C Kỹ Thuật Lập trình NhúngKỹ Thuật Lập Trình C Kỹ Thuật Lập trình NhúngViết hàm chèn một số X vào vị trí số nguyên tố cuối cùng, với X là các số nhập vàò từ bàn phím .Sắp xếp mảng theo thứ tự giảm dần các số nguyên tố
Trang 1CHUNG: Viết chương trình nhập 50 phần tử nguyín.Viết hăm thực hiện:
Nhập mảng, xuất mảng.
Đưa kết quả tính toân ra măn hình.
BĂI 1.Viết hăm chỉn một số X văo vị trí số nguyín tố cuối cùng, với X lă câc
số nhập vằ từ băn phím 3 Sắp xếp mảng theo thứ tự giảm dần câc số nguyín tố 3 BĂI 2.Viết hăm tim phần tử chẵn lớn nhất trong mảng câc số nguyín Sau đó chỉn văo vị trí đầu tiín của mảng 4 Tìm số nguyín tố lớn nhất trong mảng 4 BĂI 3.Viết hăm xóa tất cả câc phăn tử nguyín tố trong mảng câc số nguyín 6 Hiển thị câc số chính phương trong mảng 6 BĂI 4.Viít hăm tâch thănh hai mảng nguyín tố vă không nguyín tố 7 Viết hăm đổi chỗ số nguyín tố nhỏ nhất đầu tiín cho số nguyín tố lớn nhất cuối cùng 7 BĂI 5.Viết hăm xóa phần tử nhỏ nhất trong mảng 9 Tâch mảng thănh hai mảng gồm câc số chính phương vă ko chính phương .9 BĂI 6 Viết hăm sắp xếp mảng theo thứ tự tăng dần câc sô nguyín tô vă giảm dần câc sô không nguyín tố 10 Tìm vị trí câc số chẵn trong 10 BĂI 7 Viết hăm đổi chỗ phần tử chính phượng nhỏ nhất đầu tiín cho phần
tử nguyín tố lớn nhất cuối cùng 12 Sắp xếp mảng theo thứ tự giảm dần câc số chính phương 12 BĂI 8 Viết hăm xóa tất cả câc phần tử chính phương trong mảng 14 Viết hăm tìm ước số chung lớn nhất của số lớn nhất vă số nhỏ nhất trong 14 mảng 14 BĂI 9 Viết hăm xóa tất cả câc phần tử nhỏ hơn X trong mảng với X nhập văo từ băn phím 15 Tim vị trí số lẻ nhỏ nhất đầu tiín 15 BĂI 10 Viết hăm hiển thị vị trícâc số nguyín tố lớn nhất trong mảng 16
Trang 2Viết hàm thay thế tât cả cẫc phần tữ ầm thành số 0 16
BÀI 11.Viết hàm xóa tất cả các phần tử là số chẵn 18
Viết hàm chèn số chính phương nhỏ nhất vào vị trí số nguyên tố cuối cùng.18 BÀI 12 Viết hàm xóa tất cả các phần tử là số chính phương 19
Viết hàm chèn số nhỏ nhất vào vị trí số nguyên tố đẩu tiên 19
BÀI 13 Viết hàm sắp xếp mảng theo thứ tự giảm dần số chẵn và tăng đân số lẻ 21
Viết hàm xóa tất cả các phần tử âm trong mảng 21
BÀI 14 Viết hàm tìm vị trí số nguyên tố đầu tiên của mảng và chèn sô đó vào vị trí cuối cùng của mảng 23
Viết hàm sắp xếp mảng theo thứ tự tăng dần các số chính phương 23
BÀI 15 Viêt tìm bội sổ chung nhỏ nhất của hai số, áp dụng tìm bội sô chung nhỏ nhất của hai số lớn nhất và nhỏ nhất trong mảng 25
Viết hàm xóa tất cả các phần tử chính phương trong mảng 25
BÀI 16 Viết tìm bội số chung nhỏ nhất của hai số, áp dụng tìm bội số chung nhỏ nhất của hai số chẵn lớn nhất và chẵn nhỏ nhất 26
Viết hàm xóa tất cả các phần tử âm lớn nhất trong mảng 26
BÀI 17 Sắp xếp theo thứ tự giảm dần các số chính phương 28
Đổi chỗ hai số nhỏ nhất và lớn nhất cho nhau 28
BÀI 18 Viết hàm xóa tât cả các phần tử âm nhỏ nhấtt trong mảng 30
Hiển thị vị trí các số chẵn là bội của 3 và 5 30
BÀI 19 Viết hàm tìm vị trí các số nguyên tố trong mảng 31
Đổi chỗ số chính phương bé nhất trong mảng với số chẵn nhỏ nhất trong mảng 31
BÀI 20 Viết tìm ước số chung lớn nhất của hai sô, áp dụng tìm ước sô chung lớn nhất của hai số chẵn lớn nhất và chẵn nhỏ nhất 33
Viết hàm xóa tất cả các phần tử chính phương lớn nhất trong mảng 33
Trang 3BĂI 1.Viết hăm chỉn một số X văo vị trí số nguyín tố cuối cùng, với X lă câc
số nhập vằ từ băn phím
Sắp xếp mảng theo thứ tự giảm dần câc số nguyín tố
#include<stdio.h>
//Hăm nhập mảng
void nhapmang(int a[],unsigned int &n)
{ printf("Nhap kich thuoc mang:");
void doicho(int &x,int &y)
{int tam=x; x=y; y=tam; }
//Hăm sắp xếp giảm dần số nguyín tố
Trang 4void sapxep(int a[],unsigned int n)
Trang 5//Hàm chèn số nguyên tố vào vị trí đầu tiên
void chenmang(int a[],int m,unsigned int &n)
if(sntmax(a,n)==-1) printf("\nmang khong co so nguyen to nao");
else printf("\nso nguyen to lon nhat%d:",sntmax(a,n)); }
BÀI 3.Viết hàm xóa tất cả các phàn tử nguyên tố trong mảng các số nguyên Hiển thị các số chính phương trong mảng
//Hàm kiểm tra số nguyên tố
Trang 7BÀI 4.Viêt hàm tách thành hai mảng nguyên tố và không nguyên tố
Viết hàm đổi chỗ số nguyên tố nhỏ nhất đầu tiên cho số nguyên tố lớn nhất cuối cùng
//Hàm kiểm tra số nguyên tố
void tachmang(int a[],unsigned int n,
int nt[],unsigned int &n1,
int knt[],unsigned int &n2)
void doicho(int &x,int &y)
{ int tam=x; x=y; y=tam; }
Trang 9printf("\nmang sau khi doi cho sntmin dau tien cho sntmax cuoi cung:\n"); inmang(a,n);}
}
BÀI 5.Viết hàm xóa phần tử nhỏ nhất trong mảng
Tách mảng thành hai mảng gồm các số chính phương và ko chính phương
if(i*i==k) return 1; return 0; }
//Hàm tách mảng số chính phương và không chính phương
void tachmang(int a[],unsigned int n,
int cp[],unsigned int &n1,
int kcp[],unsigned int &n2)
Trang 10printf("\n mang sau khi xoa min:");
void doicho(int &x,int &y)
{ int tam=x; x=y; y=tam;}
Trang 11Sắp xếp mảng theo thứ tự giảm dần các số chính phương
//Hàm kiểm tra số nguyên tố
Trang 12//Hàm kiểm tra số chính phương
void doicho(int &x,int &y)
{ int tam=x; x=y; y=tam; }
Trang 13if(a[i]==ntmax) return i; return ntmax; }
printf("\n mang sau khi sap xep:"); inmang(a,n); } }
BÀI 8 Viết hàm xóa tất cả các phần tử chính phương trong mảng.
Viết hàm tìm ước số chung lớn nhất của số lớn nhất và số nhỏ nhất trong mảng
//Hàm kiểm tra số chính phương
int scp(int k)
{ for(int i=2;i<=k/2;i++)
if(i*i==k) return 1;
return 0; }
Trang 15{printf("\n gtri lon nhat trong mang la :%d",gtmax(a,n));
printf("\n gtri nho nhat trong mang la :%d",gtmin(a,n));
printf("\n UCLN la:%3.1d",ucln(gtmin(a,n),gtmax(a,n)));}
Trang 17void thaythe(int a[],unsigned int n)
BÀI 11.Viết hàm xóa tất cả các phần tử là số chẵn
Viết hàm chèn số chính phương nhỏ nhất vào vị trí số nguyên tố cuối cùng
//Hàm kiểm tra số nguyên tố
Trang 19printf("\n mang sau khi xoa chan:");
BÀI 12 Viết hàm xóa tất cả các phần tử là số chính phương.
Viết hàm chèn số nhỏ nhất vào vị trí số nguyên tố đẩu tiên //Hàm kiểm tra số chính phương
Trang 21{ int tam=x; x=y; y=tam; }
Trang 22Viết hàm sắp xếp mảng theo thứ tự tăng dần các số chính phương
//Hàm kiểm tra số nguyên tố
Trang 23void doicho(int &x,int &y)
{ int t=x; x=y; y=t; }
Trang 24printf("\n snt dau la : %d",ntdau(a,n));
Trang 25{printf("\n gtmax trong mang: %d",gtmax(a,n));
printf("\n gtmin trong mang: %d",gtmin(a,n));
printf("\n BCNN la: %d",bcnn(gtmax(a,n),gtmin(a,n)));}
Trang 27{printf("\n so chan lon nhat trong mang: %d",maxchan(a,n));
printf("\n so chan nho nhat trong mang: %d",minchan(a,n));
Trang 28{xoamang(a,n);
printf("\n mang sau khi xoa:");
inmang(a,n);} }
else
printf("\n nhap lai kich thuoc mang"); }
BÀI 17 Sắp xếp theo thứ tự giảm dần các số chính phương Đổi chỗ hai số nhỏ nhất và lớn nhất cho nhau
//Hàm kiểm tra số chính phương
Trang 30//Hàm hiển thị bội chẵn của 3
void htboichan3(int a[],unsigned int n)
{ for(int i=0;i<n;i++)
if(a[i]%2==0&&a[i]%3==0)
printf("a[%d]",i); }
//Hàm hiển thị bội chẵn của 5
void htboichan5(int a[],unsigned int n)
Trang 31BÀI 19 Viết hàm tìm vị trí các số nguyên tố trong mảng
Đổi chỗ số chính phương bé nhất trong mảng với số chẵn nhỏ nhất trong mảng
//Hàm kiểm tra số nguyên tố
void doicho(int &x,int &y)
{ int tam=x; x=y; y=tam; }
Trang 33if(a[i]%2==0) max=a[i];
for(int i=0;i<n;i++)
if(a[i]%2==0&&a[i]>max) max=a[i]; return max; }
Trang 34{printf("\n so chan lon nhat:%d",maxchan(a,n));
printf("\n so chan nho nhat:%d",minchan(a,n));
printf("\n UCLN la: %d",ucln(maxchan(a,n),minchan(a,n)));}