内存:128  时间:1

题目描述

注:本题只需要提交填写部分的代码,请按照C语言方式提交。

随着期末考试的临近,Honoka却一点也没复习,这可把Umi急坏了,毕竟Honoka要是不及格,就要去补习,就不能参加活动。。。

 Honoka最不擅长数学,于是Umi用了许多办法来拯救她的数学。某次复习质数的时候,Umi给了Honoka一些数字,让Honoka判断其中有多少质数。

#include <stdio.h>

#include <stdlib.h>

int main()

{

    int *arr,n,t;

    scanf("%d",&t);

    while(t–)

    {

        int sum=0,i,j;

        scanf("%d",&n);

        /*

         此处填写malloc函数和其他需要提交的代码

        */

        {

            scanf("%d",&arr[i]);

            if(arr[i]!=1)

                sum++;

            for(j=2;j*j<=arr[i];++j)

                if(arr[i]%j==0)

                {

                    sum–;

                    break;

                }

        }

        printf("%d
",sum);

        free(arr);

    }

    return 0;

}

输入

第一行输入一个正整数T(1<=T<=10),表示有T组测试数据。

对于每组测试数据

第一行一个正整数n(1<=n<=100),表示有n个整数。

第二行n个正整数a[i](1<=a[i]<=100),表示n个整数分别是多少。

输出

对于每组测试数据,输出一个整数,表示质数的个数。

样例输入

1
5
1 2 3 4 5

样例输出

3

提示

只需提交缺少的代码部分!

malloc函数用于向系统分配size个字节的内存空间

代码如下


#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *arr,n,t;
    scanf("%d",&t);
    while(t--)
    {
        int sum=0,i,j;
        scanf("%d",&n);
  int *arr=(int *)malloc(n*sizeof(int));
        for(i=0;i<n;i++)

{
            scanf("%d",&arr[i]);
            if(arr[i]!=1)
                sum++;
            for(j=2;j*j<=arr[i];++j)
                if(arr[i]%j==0)
                {
                    sum--;
                    break;
                }
        }
        printf("%d
",sum);
        free(arr);
    }
    return 0;
}

代码来源于互联网,仅供参考!