你是程序结果不对还是什么问题,你是求n个数的最大质数吗,暂时没发现代码有什么问题
# include <stdio.h>
int isprime(int m){
int i;
if(m==2)
return 1;
else{
for(i=2;i<m;i++){
if(m%i==0)
return 0;
}
}
}
main()
{
int i,n,max=0;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
if(isprime(a[i])){
if(a[i]>max)
max=a[i];
}
}
printf("%d",max);
}
求质数函数效率不高,如下修改可以更省时间
int isprime(int m)
{
if(m==2)
return 1;
for(int i=2;i*i<=m;i++)
{
if(m%i==0)
return 0;
}
return 1;
}