m0_59876792
2021-07-01 22:56
采纳率: 100%
浏览 21

c 语言判断数是否是素数

编程实现:
从键盘输入一个正整数,判断该数是不是素数。若是,请输出“此数是素数!”,若不是,请输出“此数不是素数!”。若输入的数据不是正整数,请输出“您输入的数据不符合要求,请重新输入!”

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • CSDN专家-link 2021-07-01 23:03
    已采纳
    void main()
    {
      int n;
      printf("请输入一个正整数:");
      while(1)
      {
        scanf("%d",&n);
        if(n<= 0)
        {
          printf("您输入的数据不符合要求,请重新输入!\n");
          continue;
        }
        break;
      }
      for(int i=2;i*i<=n;i++)
      {
        if(n%i==0)
        {
          prinf("此数不是素数!");
          return;
        }
      }
      printf("此数是素数!");
    }
    
    点赞 打赏 评论
  • 奋斗的小小鱼 2021-07-01 23:02
    #include <stdio.h>
    
    int main()
    {
        int a=0;  // 素数的个数
        int num=0;  // 输入的整数
    
        printf("输入一个整数:");
        scanf("%d",&num);
        if (num>0)
        {
            for(int i=2;i<num;i++){
            if(num%i==0){
                a++;  // 素数个数加1
            }
        }
    
            if(a==0)
            {
                printf("%d是素数。\n", num);
            }
            else
            {
                printf("%d不是素数。\n", num);
            }
        }
    
    
        else
            printf("您输入的数据不符合要求,请重新输入!");
    
    
        return 0;
    }
    
    
    点赞 打赏 评论
  •     //用户输入一个数,判断是否为素数,素数:只能被1和它本身整除的数(whilefor实现) break;
        int main() 
        {
    
            int a,i;
            int flag = 1;
            printf("请输入一个数:");
                    scanf("%d",&a);
            //判断是否为素数
            for(i=2;i<a;i++){ //排除1和a本身
                if(a % i == 0){ //能整除
                    flag = 0;
                    //终止循环
                    break;
                }
            }
            if(flag){
                printf("%d是素数",a);
            }else{
                printf("%d不是素数",a);
            }
          }
    
    点赞 打赏 评论
  • #include <stdio.h>
    int isprime( int n);
    int main()
    {
        int n;
        printf("输入一个整数:");
        scanf("%d", &n);
        if( isprime(n)){
            printf("此数是素数!");
        } else {
            printf("此数不是素数!");
        }
        return 0;
    }
    int isprime(int n)
    {
        int i;
        if(n<=3) return n>1;
        for(i=2;i*i<=n;i++)
            if(n%i==0) return 0;
        return 1;
    }
    
    
    点赞 打赏 评论

相关推荐 更多相似问题