#include <stdio.h>
#include <math.h>
int main()
{
int isPrime(int x);
int n,i;
scanf("%d",n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",a[i]);
}
int m;
m=a[0];
for(i=0;i<n;i++)
{
if(isPrime(a[i])==1&&m<a[i])
{
m=a[i];
}
else{
m=0;
}printf("%d",m)
}
return 0;
}
int isPrime(int x)
{
int i;
int flag=1;
for(i=2;i<sqrt(x);i++)
{
if(x%i==0)
flag=0;
}return flag;
}请问一下是哪个地方出了问题
#include <stdio.h>
#include <math.h>
int main()
{
int isPrime(int x);
int n, i;
scanf("%d", &n);
int a[n];
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
int m = 0;
for (i = 0; i < n; i++)
{
if (isPrime(a[i]) && m < a[i])
{
m = a[i];
}
}
printf("%d", m);
return 0;
}
int isPrime(int x)
{
if(x <= 1) return 0;
int i;
for (i = 2; i <= sqrt(x); i++)
{
if (x % i == 0)
return 0;
}
return 1;
}