质数筛,为什么没有输出?

问题遇到的现象和发生背景

质数筛,为什么没有输出?

用代码块功能插入代码,请勿粘贴截图

```c
#include <stdio.h>
#include <math.h>
int f(int n)
{
    for(int i=0;i<sqrt(n);i++)
    {
        if(n%i==0)
            return 0;;
    }
    return 1;
}
int main()
{
    int n;
    int a[100];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(int j=0;j<n;j++)
    {
        if(f(a[j])==1)
            printf("%d",a[j]);
    }
    return 0;
}

```

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

for(int i=0;i<sqrt(n);i++)
i怎么能等于0呢,n%i直接崩溃掉。i=2开始啊