qq1013308992
qq2672909406
采纳率87.5%
2020-06-06 22:03

C语言判断素数 大一实验题,谢谢大家!

10
已采纳

要求:输出a[10]里面的素数,算出素数和,以及素数个数。
我好像程序死在判断素数了,但是我感觉我想法没错呀。

#include<stdio.h>
#include<math.h>
void prime_number(int a[10])
{
  int i,j,flag,sum=0,count=0;
  printf("a[10]中的素数:");
  for(i=0;i<=9;i++)
  {
  if(a[i]!=2)
  {
   for(j=2;j<a[i];j++)
  {
    flag=a[i]%j;
    if(flag==0)
    break;
  }
  }
  else if(a[i]==2)
  {
   flag=1;
  }
    if(flag!=0)
    {
     printf("%d ",a[i]);
     count++;
     sum+=a[i];
    }
  }
  printf("/n 素数个数:%d",count);
  printf("/n 素数总和:%d",sum);
}
void main()
{
  int a[10],i;
  printf("请输入a[10]的值:\n");
  for(i=0;i<10;i++)
  {
   scanf("%d",&a[i]);
  }
  prime_number(a[10]);
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 10月前

    问题解决的话,请点下采纳

    // Q1081143.cpp : Defines the entry point for the console application.
    //
    
    
    #include<stdio.h>
    #include<math.h>
    void prime_number(int a[10])
    {
        int i,j,flag,sum=0,count=0;
        printf("a[10]中的素数:");
        for(i=0;i<=9;i++)
        {
            flag = 0;
            if(a[i]!=2)
            {
                for(j=2;j<a[i];j++)
                {
                    flag=a[i]%j;
                    if(flag==0)
                        break;
                }
            }
            else if(a[i]==2)
            {
                flag=1;
            }
            if(flag!=0)
            {
                printf("%d ",a[i]);
                count++;
                sum+=a[i];
            }
        }
        printf("\n 素数个数:%d",count);
        printf("\n 素数总和:%d",sum);
    }
    void main()
    {
        int a[10],i;
        printf("请输入a[10]的值:\n");
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        }
        prime_number(a);
    }
    
    

    请输入a[10]的值:
    1 2 3 4 5 6 7 8 9 10
    a[10]中的素数:2 3 5 7
    素数个数:4
    素数总和:17Press any key to continue . . .

    点赞 评论 复制链接分享