1樓:我已經匿名了
3全部#include
int main()
int i,n,k;
n=0;//修改1:初始化n為0,否則外層迴圈無法進行scanf("%d",&k);
for(;n==0;k=k-1)
for (i=2;iif(k%i==0)
n=0;
break;//修改2:非素數,退出判斷
if(i==k) //新增3:如果i=2~k-1都不能整除當前k,則k為素數
break;
//k=k+1; //修改4:註釋掉。之前得到的k即為所求
printf("the max prime number is %d.",k);
return 0;
2樓:
#include
int main()
for(;k>=2;k--) // 這裡 k>=2 不是強限制條件,不寫也沒問題的。
printf("the max prime number is %d.",k);
return 0;}
3樓:匿名使用者
有最大的素數嗎?還是求小於等於k的最大的素數?
如果是求小於等於k的最大的素數,重新寫了個:
#include
bool isprime(int n)
int main()}}
如果是求最大的素數,無能為力了~
4樓:
n=1;
scanf("%d",&k);
for(;n==0;k=k-1)
}k=k+1;
改為n=0;
scanf("%d",&k);
for(;n==0;k=k-1)//如果像你那樣n=1將不能進入迴圈}k=k+1;
C語言求100到1000素數的程式
我剛好最近試了下你看看。void main if j 17 continue else printf 5d i printf 用c語言編1到100之間的素數程式 程式及解釋如下 首先判斷素數的演算法 用一個數分別去除以2到sqrt 這個數 如果能被整除,則表明此數不是素數,反之是素數。則有如下程式 ...
c語言程式,請高手幫我看看哪裡錯了
else if numf mid 這個判斷錯誤導致你輸入其它數字沒有顯示。之所以輸入8可以是因為8是滿足 if num f mid 沒有迴圈 l mid 1 0 不可能滿足l 0。至於第二個問題我覺得你直接修改陣列的大小,執行程式,實驗下就知道了。else if num 就ok了 for i 0 i...
c語言求數中的最大者不知道哪裡出問題
scanf d,d.d x,y,z 這裡面一個逗號,一個.是不是輸入錯誤了。如果你直接1,2,3 得到的就是2 但是你 1,2.3就是正確的3了 補充 1 你的max函式邏輯以及if else用法是對的,雖然有點繞。當然你最好新增大括號來讓 更清晰。2 main函式返回值int確實才是標準的。以下是...