这个代码是错误的,我只是想输入一个数字,然后提示是不是素数而已,现在出错了,我没有看懂错在哪里,大神指点下
现在可以了,已经解决
#include<stdio.h>
int ok_or_no(int a)
{
int i;
if(a==2)
{
return 0;
}
a=(int)a/2+1;
for(i=2;i<a;i++)
{
if(a%i==0)
{
return 1;
}
}
if(a>1)
return 0;
else return 1;
}
int main()
{
int even_my=0;
scanf("%d",&even_my);
if(ok_or_no(even_my))
{
printf("%s","这不是个素数\n");
}
else
{
printf("%s","这是个素数\n");
}
return 0;
}
函数int ok_or_no(int a):int a=0;与形参 int a 重定义了
int ok_or_no(int a)
{
a=(int)a/2+1;
int i=0;
for(i=2;i<a;i++)
{
if(a%i==0)
{
return 1;
}
}
return 0;
}
*函数声明放main前;应该先定义变量再运算,还有函数参数a与定义的a重复了
#include <stdio.h>
int ok_or_no(int a);
int main()
{
int even_my=0;
scanf("%d",&even_my);
if(ok_or_no(even_my))
{
printf("%s","这不是个素数\n");
}
else
{
printf("%s","这是个素数\n");
}
return 0;
}
int ok_or_no(int a)
{
int i=0;
a=(int)a/2+1;
for(i=2;i<a;i++)
{
if(a%i==0)
{
return 1;
}
}
return 0;
}