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: