源程序代碼以及算法解釋如下:
創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、衛(wèi)東網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、H5開發(fā)、商城建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為衛(wèi)東等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
#define _CRT_SECURE_NO_WARNINGS
#includestdio.h
int Func(int m)//判斷函數(shù)
{
int n = 2;
while (n = m (m%n))//判斷是否能被其他數(shù)整除
n++;
if (m == n)
return 1;
else
return 0;
}
int main()
{
int M_num;//定義變量
printf("請輸入需要判斷的數(shù):\n");//文字提示
scanf("%i", M_num);//循環(huán)輸入數(shù)組元素
int i = Func(M_num);//判斷是否是素數(shù)
if (i == 1)//輸出結(jié)果
printf("輸入的數(shù)是素數(shù)");
if (i == 0)
printf("輸入的數(shù)不是素數(shù)");
printf("\n");
return 0;
}
程序運行結(jié)果如下:
擴展資料:
輸出1-100之間的所有素數(shù)程序如下:
#includestdio.h
int PrimeNumer(int x) //定義一個函數(shù)判斷
{
assert(x 0);? //判斷
int i; ? //被除數(shù)
for (i = 2; i x; i++)
{
if (x%i == 0)
{
return 0; ? ? ? ? ? ?//表示正常終止
}
}
return 1; ? ? ? //只是給主調(diào)函數(shù)一個標志,說明他的執(zhí)行過程中遇到異常情況。 然后就返回主調(diào)函數(shù)來處理,繼續(xù)執(zhí)行。?
}
int main()
{
int i,a;
int count = 0;
for (i = 2; i 101; i++)
{
if (PrimeNumer(i)) ? ? ? ? ? ? ? ? ? ? ? ? ? //調(diào)用函數(shù)來判斷
{
count++; ? ? ? ? ? ? ? ? ? ? ? ? ? ? //加入了一個計數(shù)器
printf("%d\n", i);
}
}
printf("素數(shù)出現(xiàn)的次數(shù)%d", count);
system("pause");
return 0;
}
#include stdio.h
int fun(int x)//
{
if(x2)
return 0;//返回0,非素數(shù)
for(int i=2;i*i=x;i++)
if(x%i==0)
return 0;
return 1;//返回1,素數(shù)
}
int main()
{
int n;
scanf("%d",n);
if(fun(n)==1)
printf("%d是素數(shù)\n",n);
else
printf("%d不是素數(shù)\n",n);
return 0;
}
c語言判斷素數(shù)的函數(shù)程序:
經(jīng)分析,以上代碼使用flag的值來判斷輸入的n是否為素數(shù),flag=1,n為素數(shù);flag=0,n不是素數(shù)。完善if條件語句,第一個if,主函數(shù)中的if調(diào)用函數(shù),需要填入一個參數(shù),即prime(n);第二個if,是判斷什么情況下flag=0,即輸入的整數(shù)不為素數(shù),即(n/i==0),余數(shù)為0,可以整除;最后返回flag的值,returnflag
但是經(jīng)過運行可以知道,n=4的時候,程序判斷4是素數(shù),明顯是錯誤的,n取0和1的時候同理,程序存在漏洞。分析得知,在定義函數(shù)的過程中,for循環(huán)條件語句,i=0,如果為負整數(shù),另加判斷條件,略)
#include?stdio.h
#include?math.h
int?jugde(int?x)
{
int?i;
if(x??2)
return?0;
for(i?=?2;?i?=?sqrt(x);?++i)
if(x%i?==?0)
return?0;
return?1;
}
int?main()
{
int?i;
for(i?=?101;?i??1000;?i+=2)
if(jugde(i)?==?1)
printf("%d?",?i);
return?0;
}