用指针实现将100到200间所有素数输出到屏幕,每行10个

用指针实现将100到200间所有素数输出到屏幕,每行10个


#define A 100
#define B 200
#include<stdio.h>
int main()
{
    int number = 0;//存储每个数的因子的个数
    int a[B] = { 0 };//5列的数组
    int *pnumber = a;//数组首地址赋值给指针
    int num_number = 0;//素数共多少个
    for (int num = A; num <= B; num++)//挑选素数
    {
        number = 0;//素数个数
        for (int i = 1; i <= num; i++)//循环找出所有的因子
        {
            int yushu = num / i;
            if (yushu*i == num)//判断是否为因子
            {
                number++;
            }
        }
        if (number == 2)//如果只有两个因子,就是素数,输出
        {
            //printf("素数为%d\n", num);
            *pnumber = num;//将素数赋给指针
            pnumber++;//指针地址移位
            num_number++;
        }
    }
    printf("素数个数为%d\n", num_number);
    pnumber = a;//指针地址初始化
    for (int i = 1;i<=num_number ; i++)
    {
        printf("%d ",*pnumber++);
        if (i % 10 == 0)printf("\n");
        if (*pnumber == 0)
        {
            printf("\n");
            break;
        }
    }
    return 0;
}

运行结果:

img