大虾求救!!!!!C编!! 判断素数??
#include<stdio.h>#include<math.h>
int sushu(int a)
{
int i,flag=1;
for(i=0;i<=sqrt(a);i++)
{if(a%i==0)
flag=0;break;}
if(flag==0)
return flag;
if(flag==1)
return flag;
}
main()
{
int a,t;
printf("输入一个数:");
scanf("%d",&a);
t=sushu(a);
if(t==0)
printf("这是个素数!\n");
if(t==1)
printf("这不是个素数!");
}
----------------解决方案--------------------------------------------------------
if(flag==1)
----------------解决方案--------------------------------------------------------
for(i=0;i<=sqrt(a);i++)
{if(a%i==0)
div by 0 ???
[color=white]<>
----------------解决方案--------------------------------------------------------
我想是这的问题
for(i=0;i<=sqrt(a);i++)
{
if(a%i==0)
{
flag=0;
break;
}
}
应该加个大括号。
另外这儿可以这样精简代码:
/*if(flag==0)
return flag;
if(flag==1)*/
return flag;
----------------解决方案--------------------------------------------------------
但愿没有出错
#include<math.h>int sushu(int a)
{
int i;
if(a==2) return 1;
for(i=2;i<=sqrt(a);i++)
{
if(a%i==0)
return 0;
}
return 1;
}
main()
{
int a,t;
printf("Input a number:");
scanf("%d",&a);
t=sushu(a);
if(t==1)
printf("This is a prime number!\n");
if(t==0)
printf("This is not a prime number!");
}
----------------解决方案--------------------------------------------------------