Bài viết được đăng tại nguyenlediep.com - không copy dưới mọi hình thức.
NLD Code - Viết chương trình nhập dãy số nguyên in ra số nguyên tố và vị trí của nó trong C. Ví dụ bạn nhập dãy số 1, 2, 3 thì sẽ in ra số 2 ở vị trí 1 và số 3 ở vị trí 2.
Viết chương trình nhập dãy số nguyên in ra số nguyên tố và vị trí của nó trong C. Ví dụ bạn nhập dãy số 1, 2, 3 thì sẽ in ra số 2 ở vị trí 1 và số 3 ở vị trí 2.
Câu hỏi
- Viết chương trình nhập dãy số nguyên in ra số nguyên tố và vị trí của nó trong C.
Gợi ý
- Chúng ta sử dụng mảng, vòng lặp for và hàm if để xử lý bài toán trên
Tiến hành code
Chèn các thư viện vào file hiện hành
#include<stdio.h> #include<conio.h>
Khai báo mảng và các biến kiểu dữ liệu int
int a[50], i, n, j, kt;
In ra thông báo nhập n số lượng phần tử của mảng
printf(" - Nhap so luong phan tu: ");
Nhận giá trị phần tử n người dùng nhập vào
scanf("%d",&n);
Chạy vòng lặp for từ 0 đến n phần tử
for(i = 0;i < n;i++){
}
In ra thông báo nhập n phần tử
printf(" - Nhap phan tu: ");
Thêm các phần tử n vừa nhập vào mảng
scanf("%d",&a[i]);
In ra thông báo các số nguyên tố và vị trí của các số nguyên tố
printf(" => Cac so nguyen to co trong mang va vi tri cac so do trong mang la:");
Sử dụng vòng lặp for để lấy số lượng phần tử n
for(i = 0;i < n;i++){
}
Gán biến kt = 0 với mục đích để so sánh số đó có phải là số nguyên tố
kt = 0;
Sử dụng vòng lặp for để nhận các giá trị trong mảng
for(j = 2;j <= a[i]/2;j++){
}
Sử dụng hàm if để chia lấy số dư của các phần tử trong mảng
if(a[i]%j == 0){
}
Nếu số dư bằng không có nghĩa số này không phải số nguyên tố nên ta có biến kt = 1;
kt = 1;
Xét điều kiện là số nguyên tố để in ra số nguyên tố và vị trí của nó
if(kt == 0 && a[i] != 1){
printf("\n - So nguyen to %d vi tri %d trong mang ",a[i],i);
}
Code hoàn chỉnh
// http://nguyenlediep.com
#include<stdio.h>
#include<conio.h>
main(){
printf("\n");
int a[50], i, n, j, kt;
printf(" - Nhap so luong phan tu: ");
scanf("%d",&n);
for(i = 0;i < n;i++){
printf(" - Nhap phan tu: ");
scanf("%d",&a[i]);
}
printf(" => Cac so nguyen to co trong mang va vi tri cac so do trong mang la:");
for(i = 0;i < n;i++){
kt = 0;
for(j = 2;j <= a[i]/2;j++){
if(a[i]%j == 0){
kt=1;
}
}
if(kt == 0 && a[i] != 1){
printf("\n - So nguyen to %d vi tri %d trong mang ",a[i],i);
}
}
printf("\n >>>>> nldc.vn <<<<<\n");
}
Kết quả
- Lưu C code thành file .cpp, nhấn F9 để biên dịch chương trình sau đó nhấn F10 ta được:

