/判断是不是素数
#include
int prime(int a);//函数声明
int main()
{
int n,i;
scanf("%d",&n);
if(prime(n)==1) //return返回值1
printf("prime");
else
printf("not prime") ;
}
int prime(int a)
{
int i;
#include
int isprime(int i); //大小写错误
void main() //省略是默认返回值为int
{
int number ;
printf("Please input a number to test if it is a prime:" );
scanf(" %d",&number);
if (isprime(number)==1) //调用判断素数的函数isPrime,注意括号的位置
printf("Is a prime!\n");
else
printf("Is not a prime!\n");
}// 子函数isPrime的声明和定义如下:
int isprime(int i)
{
int a;
for(a=2;a if(i%a==0)break;
if(a>=i)return 1;
else return 0;
}
main()
{
int number ;
printf("Please input a number to test if it is a prime:" );
scanf("%d",&number);
if (isprime(number==1)) ///改成 if (isprime(number)==1)
printf("Is a prime!\n");
else
printf("Is not a prime!\n");
}// 子函数isPrime的声明和定义如下:
int isprime(int i)
{
int a;
for(a=1;a<=i;a++);
if(i%a==0)break; //这里错,当a=1时,就break了
if(a==i)return 1;
else return 0;
}
改成
int isprime(int i)
{
int a;
if(i==1)return 1;//把当1素数
for(a=2;a<=i;a++);
if(i%a==0)break;
if(a==i)return 1;
else return 0;
}
else return 0;
}
试试
/********** Begin **********/
#include
int prime(int a);//函数声明
int flag;
int main()
{
int n,i;
scanf("%d",&n);
if(prime(n)==1) //return返回值1
printf("Yes");
else
printf("No") ;
}
int prime(int a)
{
int i;
for(i=2;i{if(a%i==0)
{flag=0;break;}//a%i==0不成立
else
flag=1;//a%i==0成立
}
if(a==i)
flag=1;
return(flag);
}
/********** End **********/