01/10/2018, 00:38

Ai sửa lỗi giúp e với ạ

VCT cho phép nhập vào mảng gồm n số nguyên.

Xuất mảng vừa nhập ra màn hình.

  • Viết hàm kiểm tra một giá trị có phải số nguyên tố hay ko? Nếu là số nguyên tố thì trả

về 1 ngược lại trả về 0.

  • Xuất các số nguyên tố ra màn hình và đếm có bao nhiêu số nguyên tố.

#include <stdio.h>

int n,i;
int mang[100];
int dem=0;
void nhapmang()

{
	printf ("Nhap so phan tu mang: ");
	scanf ("%d",&n);
	for (int i=0; i<n ; i++)
	{
		printf ("Nhap phan tu mang thu %d :",i);
		scanf ("%d",&mang[i]);
	}
}
void xuatmang()
{
	for (int i=0;i<n;i++)
	printf ("%5d",mang[i]);
	
}
int SNT(int a)
{
	
	
	for (i=2;i*i<a;i++)
	{
		if (a%i==0)
		return 0;
	}
	return 1;
}
void xuatSNT()
{
	for (i=0;i<n;i++)
	{
	
		if (SNT(mang[i])==1)
		{
			printf("%4d",mang[i]);
			dem++;
		}
		
	}
}

int main ()
{

nhapmang();
printf ("Mang sau khi nhap :
");
xuatmang();
printf ("
cac so nguyen to trong mang la: ");
xuatSNT();
printf ("
co %d so nguyen to trong phan tu",dem);
}
Nguyễn Xuân Phúc viết 02:46 ngày 01/10/2018

for (i=2;i*i<a;i++)

cái này là <= a mới đúng

Đào Thành Đạt viết 02:49 ngày 01/10/2018

e sửa r mà chạy chương trình vẫn sai

Nguyễn Xuân Phúc viết 02:39 ngày 01/10/2018

còn cả trường hợp nó nhỏ hơn 2 nữa, nó nhỏ hơn 2 thì nó k phải snt
Mà cái trường hợp bạn kiểm tra ra sai là số nào vậy?

Đào Thành Đạt viết 02:43 ngày 01/10/2018

nếu đúng là 1 nếu sai là 0 a

Nguyễn Xuân Phúc viết 02:38 ngày 01/10/2018

ý là bạn nhập vào số nào mà nó kiểm tra ra sai?

Đào Thành Đạt viết 02:51 ngày 01/10/2018

e nhập mảng gồm 5 số từ 1 tới 5 , nó chỉ hiện ra số 3 thoi a

Nguyễn Xuân Phúc viết 02:47 ngày 01/10/2018

code dung biến trùng kìa, hàm snt với hàm xuatsnt dung chung biết i kìa

Đào Thành Đạt viết 02:51 ngày 01/10/2018

sau 1 buổi mày mò e đã làm đc , cảm ơn a đã chỉ e

Nguyễn Xuân Phúc viết 02:49 ngày 01/10/2018

Không biết là em có phải là đã học pascal trước và đang học lên C/C++ hay không, nhưng a có một lời khuyên là hạn chế tối đa biến toàn cục (global variable) đi, xài biến cục bộ, và tập truyền các tham số cần dùng vào hàm nào cần xài.
Một trong những lý do mà em bị sai trong bài này cũng là từ việc sử dụng biến toàn cục mà ra.
Và sau này khi phát triển thực tế thì cũng không ai dùng biến toàn cục như vậy cả.

Đào Thành Đạt viết 02:43 ngày 01/10/2018

dạ e cảm ơn lời khuyên của a

Bài liên quan
0