用指针实现将100到200间所有素数输出到屏幕,每行10个
1条回答 默认 最新
五一编程 2021-12-21 13:19关注#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; }运行结果:
解决 无用评论 打赏 举报 编辑记录