求素数,这段代码错了,请问怎么改

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

#include<stdio.h>
#include<math.h>
int Isprime(int n);
int main()
{
    int n,a[100],j,max;
    scanf("%d",&n);
    for(j=0;j<n;j++)
      scanf("%d",&a[j]);
    max=0;
    for(j=1;j<n;j++)
    {
        if(Isprime(a[j])&&max<a[j]) 
			max=a[j];
    }
	if(max == 0)
		printf("都不是素数");
	else
		printf("最大素数为:%d",max);

    return 0;
}
int Isprime(int n)
{
    int i;
    double gen=sqrt((double)n);
    for(i=2;i<=gen;i++)
    {
        if(n%i==0)
            return 0;
    }
    return 1;
}

 

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632