当前位置: 代码迷 >> C语言 >> [求助]谁告诉我错在那?
  详细解决方案

[求助]谁告诉我错在那?

热度:66   发布时间:2007-10-12 19:40:52.0
[求助]谁告诉我错在那?
/*任意数一个说判断该数是否为素数,谁能告诉我错在那了?*/
int i,c(int n)
{
for(i=2;i<sqrt(n);i++)
{
if(n%i==0)
return 0;
else
return 1;
}
}
#include "stdio.h"
int b,a;
main()
{
scanf("%d",&a);
b=c(a);
if(b==0)
{
printf("no");
}
if(b==1)
{
printf("yes");
}
getch();
}
搜索更多相关的解决方案: include  return  

----------------解决方案--------------------------------------------------------
首先你声明函数的格式我不喜欢,也不知道对不对如果声明函数没问题的话就是下面这个错误
for(i=2;i<sqrt(n);i++)
{
if(n%i==0)
return 0;
else
return 1;
}
这里根本循环不了,判断一次就推出该函数了,除非运气,否则不可能真确判断,return一定会退出该函数的
这样试试你(未测试)
{for(i=2;i<sqrt(n);i++)
{
if(n%i==0)
return 0;
else;
}
return 1;
}

----------------解决方案--------------------------------------------------------
[QUOTE]
int i,c(int n)
{
for(i=2;i<sqrt(n);i++)
{
if(n%i==0)
return 0;
else
return 1;
}
}
#include "stdio.h"
int b,a;
main()

[/QUOTE]
一个字,乱!!!
不过这不是重点,你只是要结果,,,
int i,c(int n)
{
for(i=2;i<sqrt(n);i++)//是<=
{
if(n%i==0)
return 0;
else
return 1;
//如果你这样,根本就用不到循环了,无论那个数是什么,只要它%2,等于0返回0,不等于0返回1,
} //根本没达到你想要的目的吧!看书考虑一下怎么改
}


----------------解决方案--------------------------------------------------------
本人刚学C几天,谢谢指教
----------------解决方案--------------------------------------------------------
  相关解决方案