當前位置:編程學習大全網 - 編程軟體 - c語言編程 從鍵盤上輸入兩個正整數 n,k 求大於n的k個質數 ,,,,謝謝!!

c語言編程 從鍵盤上輸入兩個正整數 n,k 求大於n的k個質數 ,,,,謝謝!!

樓主好...

我看了上面幾個寫給妳的程序,有些邏輯較亂,而且思路不清。最主要是在電腦運行的結果不對,或則是根本無法通過編譯。所以給樓主寫了個,用VC寫的,在VC上運行完全正確,能夠達到樓主相應的效果。

由於是自己的思路,擔心樓主不理解,所以在後面都加了註釋,可以幫組樓主讀懂我的程序。

程序如下:

#include <stdio.h>

void main()

{

int n,k;

printf("input the n:"); /*輸入n的值*/

scanf("%d",&n);

printf("input the k:"); /*輸入K的值*/

scanf("%d",&k);

int i,count=0; /*用count來實現計質數的個數*/

do

{

flag: n=n+1;

if(n<2) /*如果n<2就都不是質數,繼續下壹次循環*/

continue;

else if(n==2) /*n=2,就輸出2,因為2是質數*/

{

count++;

printf("第%d個質數是%d:\n",count,n);

continue;

}

else

{

for(i=2;i<n;i++) /*判斷是否從2到這個數本生有沒有約束*/

{

if(n%i==0)

goto flag; /*如果有約束,跳出次else語句,去執行開頭*/

}

count++; /*如果在for循環中沒有約束,則數出count加1,數出這個數*/

printf("第%d個質數是%d:\n",count,n);

}

}

while(count!=k); /*當質數的個數等於k時,跳出do循環,結束程序*/

}

樓主可以去VC上檢驗,如果沒有vc,tc應該也可以通過我的這個程序吧!

檢驗正確後,請回復哦!也是對我的鼓勵的...

嘿嘿

  • 上一篇:銀川觀湖壹號小區周邊配套怎麽樣?
  • 下一篇:莆田solidworks培訓哪裏好
  • copyright 2024編程學習大全網