当前位置: 代码迷 >> C语言 >> 大虾求救!!!!!C编!! 判断素数??
  详细解决方案

大虾求救!!!!!C编!! 判断素数??

热度:358   发布时间:2008-06-27 12:27:25.0
大虾求救!!!!!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!");
}

----------------解决方案--------------------------------------------------------
  相关解决方案