c語言判斷素數的函數程序:
朝陽縣ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
經分析,以上代碼使用flag的值來判斷輸入的n是否為素數,flag=1,n為素數;flag=0,n不是素數。完善if條件語句,第一個if,主函數中的if調用函數,需要填入一個參數,即prime(n);第二個if,是判斷什么情況下flag=0,即輸入的整數不為素數,即(n/i==0),余數為0,可以整除;最后返回flag的值,returnflag
但是經過運行可以知道,n=4的時候,程序判斷4是素數,明顯是錯誤的,n取0和1的時候同理,程序存在漏洞。分析得知,在定義函數的過程中,for循環條件語句,i=0,如果為負整數,另加判斷條件,略)
#include?stdio.h
#include?math.h
//判斷是否為素數的函數
int?isPrime(int?n)
{
int?i=2;
while(i=(int)sqrt(n))
{
if(n%i?==?0)
return?0;??//不是素數,直接返回0
else
i++;
}
return?1;
}
int?main()
{
int?n,i;
printf("輸入一個正整數:?");
scanf("%d",n);
for(i=2;i=n;i++)
{
if(isPrime(i))??//調用函數,如果該數為素數,則輸出
printf("%d?",i);
}
printf("\n");
return?0;
}
示例運行結果:
輸入一個正整數: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
基本思想:把m作為被除數,將2—INT()作為除數,如果都除不盡,m就是素數,否則就不是。
可用以下程序段實現:
voidmain()
{intm,i,k;
printf("pleaseinputanumber:\n");
scanf("%d",m);
k=sqrt(m);
for(i=2;ik;i++)
if(m%i==0)break;
if(i=k)
printf("該數是素數");
else
printf("該數不是素數");
}
將其寫成一函數,若為素數返回1,不是則返回0
intprime(m%)
{inti,k;
k=sqrt(m);
for(i=2;ik;i++)
if(m%i==0)return0;
return1;
}
擴展資料:
100-200之間的素數的個數,以及所有的素數
#includestdio.h
#includemath.h
intmain()
{
inta,m,k,i;
a=0;
for(i=101;i=200;i++)
{
for(k=2;ki;k++)
if(i%k==0)break;
if(k=i)
a++;
}
printf("%d\n",a);
for(i=101;i=200;i++)
{
for(k=2;ki;k++)
if(i%k==0)break;
if(k=i)
a++;
if(k=i)
printf("%d",i);
}
printf("\n");
return0;
}
文章題目:素數的c語言程序用函數 素數的c語言程序用函數表示嗎
分享網址:http://vcdvsql.cn/article6/dopjjig.html
成都網站建設公司_創新互聯,為您提供電子商務、營銷型網站建設、關鍵詞優化、Google、網站維護、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯