/*将100以内的素数用数组保存起来,再将数组里的值打印出来*/ #include <stdio.h> int Pd_Ss(int i); int main(){ int a[100] = {0}; //用于存储素数 int i = 0,k = 0; //用于循环的计数 printf("100以内的素数有:\r\n"); for(i = 2; i<=100 ;i++){ //判断2-100的所有数 if(Pd_Ss(i) == 1){ //调用函数判断 如果函数返回1,则将i的值录入数组 a[k++]=i; //将素数存入数组 } } for(i = 0; i<k; i++){ printf("a[%d]=%d\r\n",i,a[i]); //输出素数 } printf("\r\n"); //换行 return 0; } int Pd_Ss(int i){ //判断素数的函数 int j; for(j = 2;j * j <= i ; j++){ if(i % j == 0){ //如果取余为0,则返回0(退出函数) return 0; } } return 1; //返回1 }
备注:该程序代码比较基础,所有程序中的变量名比较随意
判断素数的函数(Pd_Ss)的思路:利用循环,判断 i 的值与 j 的平方,当 j 平方小于 i 时,进入循环,判断此时的 i 能否整除 j,如果能整除,说明 i 不是素数,返回0退出函数,否则返回 1;