Code in ra màn hình kết quả sai

Em chào mọi người, đề bài của em là in ra các số nguyên tố trong mảng 1 chiều, code em không hiểu sao xuất ra màn hình lại không có kết quả (như hình )
Mọi người giúp em với ạ, xem em sai ở đâu.
Em cảm ơn mọi người nhièu

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include<conio.h> 
int snt(int n){
	int i; 
   for( i=2; i<= sqrt(n); i++){
   	    if(n%i==0){
   	    	return 0;//sai 
		   }
		return 1; //tra ve ket qua dung 
   }  
}
void show(int arr[], int i){
	int n;
	printf("\nNhap kich thuoc mang: "); fflush(stdin); scanf("%d",&n);
	printf("\nNhap cac gia tri cua mang: ");
	for(i=0; i<n; i++){
		printf("\nGia tri thu %d la: %d ", i+1, arr[i]); scanf("%d", &arr[i]);
	}
} 
void showsnt(int a[], int n){
	show(a,n);
	printf("\nCac so nguyen to trong mang la: ");
	for(int i=0; i<n; i++){
		if(snt(a[i])){
			printf("\t%d", a[i]); 
		} 
	} 
} 
int main(){
	int a[100];
	int n;
	int i; 
	show(a,i); 
	snt(a[i]);
	return 0; 
}

Hàm main bạn chưa gọi showsnt.

4 Likes

Em xin góp ý thêm: bác format lại code luôn trước khi post bài cho anh em dễ đọc nhé bác!

1 Like

lần sau em xin lưu ý ạ, em cảm ơn bác

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?