#include stdio.h
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了新絳免費建站歡迎大家使用!
int main(){
int a=0; // 素數(shù)的個數(shù)
int num=0; // 輸入的整數(shù)
printf("輸入一個整數(shù):");
scanf("%d",num);
for(int i=2;inum;i++){
if(num%i==0){
a++; // 素數(shù)個數(shù)加1
}
}
if(a==0){
printf("%d是素數(shù)。\n", num);
}else{
printf("%d不是素數(shù)。\n", num);
}
return 0;
}
編寫一個函數(shù)實現(xiàn)判斷一個整數(shù)是否是素數(shù)。如果輸出也在函數(shù)內(nèi)進(jìn)行,才需要把數(shù)組傳到函數(shù)中,否則只要傳數(shù)組元素就可以了。
你原來的程序問題在于:
1. 缺少#include"math.h"。因為用到了sqrt();
2. if(ss(a[i])==1)語句中調(diào)用函數(shù)ss的格式與定義不符:a[i]不能傳給a,且缺第二的參數(shù)。
3.? 判斷素數(shù)時,沒有考慮對數(shù)字1的處理。
輸出在主程序中進(jìn)行的話,參考White_MouseYBZ網(wǎng)友的回答,進(jìn)行修改即可。
如果打印也在函數(shù)中進(jìn)行,原程序可改為:
#include"stdio.h"
#include"math.h"??//增加
main()
{
int?a[10],n,i;
void?ss(int?a[],int?n);
scanf("%d",n);
for(i=0;in;i++)
scanf("%d",a[i]);
ss(a,n);//調(diào)用函數(shù),判斷并輸出
/×??for(i=0;in;i++)?????//整體刪除
if(ss(a[i])==1)
printf("%d\n";a[i]);?×/?
}
void?ss(int?a[],int?n)??//無需返回值,改成void
{?int?k,i,j,result;
for(i=0;in;i++)
{?if(a[i]!=1)????//避免1判斷為素數(shù)
{?k=sqrt(a[i]);
for(j=2;j=k;j++)
if(a[i]%j==0)?break;
if(jk)??printf("%d?",a[i]);?//輸出素數(shù)
}
}
}
好的,以下是C語言輸出一個數(shù)組中的素數(shù)的代碼:
#include stdio.h
int main() {
int arr[] = {2, 3, 6, 7, 11, 13, 17, 19};
int len = sizeof(arr) / sizeof(arr[0]);
int flag;
printf("The prime numbers in the array are: ");
for (int i = 0; i len; i++) {
flag = 0;
for (int j = 2; j = arr[i] / 2; j++) {
if (arr[i] % j == 0) {
flag = 1;
break;
}
}
if (flag == 0 arr[i] != 1)
printf("%d ", arr[i]);
}
return 0;
}
該程序首先定義了一個整型數(shù)組arr,然后計算出數(shù)組長度len,接下來通過嵌套循環(huán)遍歷每個元素,判斷該元素是否為素數(shù),最后輸出素數(shù)。其中,內(nèi)層循環(huán)用于判斷元素是否為素數(shù),如果該元素可以被2到(i/2)之間的任意一個整數(shù)整除,則該元素不是素數(shù)。最后,如果flag值為0且該元素不是1,則表明該元素是素
本文標(biāo)題:c語言函數(shù)數(shù)組素數(shù) c語言給定數(shù)組求素數(shù)之和
網(wǎng)頁路徑:http://vcdvsql.cn/article34/dopgose.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、品牌網(wǎng)站設(shè)計、靜態(tài)網(wǎng)站、網(wǎng)站改版、網(wǎng)站設(shè)計公司、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)