1樓:風若遠去何人留
首先根據數學規則,編寫判斷素數的程式。
然後按照如下思路:
1 輸入m和n;
2 對[m,n]的整數進行遍歷。
3 對每個數值進行判斷,如果是素數,則輸出。
**:#include
#include
int is_prime(int n)
int main()
2樓:迷茫的我
main() /*函式呼叫*/ f(int x) if(floy==1) printf("%d",x); } /*這是求100以內的素數具體要求m到n的改一下前面的那句就可以了*/
3樓:伍拾步
#include
#include
int f(int n)//判斷n是否為素數,是則返回1,否則返回0void main()}
4樓:匿名使用者
求100~200之間的所有素數及素數的個數。
main( )
}printf(" n=%d\n",n);}
c語言 輸出n到m之間的所有素數
5樓:風若遠去何人留
對n到m之間所有數進行遍歷,逐一判斷是否為素數,如果是則輸出。
一、演算法設計:
1、輸入n和m;
2、判斷n和m關係,如n>m則交換;
3、遍歷n到m所有值,對於每個值判斷是否為素數,如是則輸出;
#include
#include
int isprime(int n)//判斷素數函式。
int main()
for(i = n; i <= m; i ++)//遍歷。
if(isprime(i))//是素數。
printf("%d ", i);//輸出素數。
return 0;}
6樓:匿名使用者
你好!!
給你一個簡單點的,你看看吧
#include
void main()
count++;
printf("%5d",i);
}if(i%j==0)
break;}}}
7樓:匿名使用者
演算法麻煩 是因為迴圈次數太多了,具體的迴圈 只需要迴圈m-n/2次就行 有說求 sqr的 但是 sqr函式計算開銷比較大 所以我不建議
至於回車的問題 應該是迴圈結構的問題 建議把大括號寫全
參考
8樓:迷茫的我
main() /*函式呼叫*/ f(int x) if(floy==1) printf("%d",x); } /*這是求100以內的素數具體要求m到n的改一下前面的那句就可以了*/
9樓:伍拾步
#include
#include
int f(int n)//判斷n是否為素數,是則返回1,否則返回0void main()}
10樓:
沒測試過你的程式,你忘記了判斷輸入n,m的大小,要是輸入的 n > m 呢?
11樓:匿名使用者
行與行之間不止一個回車,有的很多有的幾個,這是因為你最後一句:
if(b%10==0) printf("\n");
沒有包含在if(a==1)中。這樣當a==0時,也會判斷if(b%10==0),造成輸出很多個回車。改成:
if(a==1)
應該就可以了。(注意大括號位置)
至於判斷素數的簡化演算法,如果你是指**可讀性,那麼你這種演算法已經比較直觀了。如果你是指**的執行效率及運算速度,那麼,你可以參考一下這個**,裡面對素數的判斷有比較詳細的分析:http:
12樓:左岸
關於回車問題,1樓已解釋清楚。
可是你又沒有發現 當輸入 3 100 是 輸出是從11開始的素數。 5和7並未輸出。
另外 簡化程式。 應將k=sqrt(m);刪除。在a=1;的前面加上 k=sqrt(j);
附上程式:
#include
#include
void main(void)
if(a==1)
//回車問題在此行}}
13樓:匿名使用者
求100~200之間的所有素數及素數的個數。
main( )
}printf(" n=%d\n",n);}
求高手用c語言程式設計,輸出[m,n]間的所有素數,並且每5個換行,如果區間內不存在素數,輸出0。
14樓:匿名使用者
程式源**:
#include
#include
void main()
int i,k,m,n;
int count=0;
printf("請輸入求素數的上區間m的值:");
scanf("%d",&m);
printf("請輸入求素數的下區間n的值:");
scanf("%d",&n);
for(i=m;i<=n;i++)
if(i==1)
continue;
int flag=1;
for(k=2;kif(i%k==0)
flag=0;
break;
if(flag==1)
printf("%-4d",i);
count++;
if(count%5==0)
printf("\n");
if(count==0)
printf("該區間存在的素數為:0\n");
執行結果:
15樓:匿名使用者
學過數論的人應該知道,m和n的大小要有限制,因為一個很大的數判斷它是否為素數從計算上是不可能
c語言程式設計:輸出m~n之間的迴文素數
16樓:風若遠去何人留
程式開始部分沒什麼問題,結尾一個接一個
是自己想亂了還是著急了?
如果剛學c 最好還是先列個流程 然後再寫,不容易出錯改正後的程式如下,原因見註釋
#include
int main()
if(b==p)
{for(q=2;q
c語言程式解析,C語言程式解析
樓主給的東西不是很完整啊,看看是不是你要的結果。void init 遍歷時顯示每個結點的過程 void drawnode tree t,int color t t p c 號優先順序最高,i 1 時 t t 2 2009 1 2 2 s s t c 優先順序最高 以此類推 所以結果如下 11 2 i...
C語言程式題,c語言程式題
int f int x 這裡是函式的宣告,c語言中函式必須先宣告後呼叫,因為在main方法中呼叫了這個函式,函式的定義在main方法下面,所以必須宣告在main方法開頭。int f int x 是一個函式,這函式在main函式之前有宣告的,宣告之後,就可以在main函式中呼叫。int f int x...
用c語言編寫程式輸出如下圖案,C語言程式設計 編寫程式,在螢幕上輸出下面的圖案(要求用for 迴圈實現)。
先貼效果圖 再貼 include stdio.h include conio.h main for j 1 j 2 i j printf n getch 在說思路 外層迴圈,迴圈7次控制列印7行 裡層2個for 第一個內for 控制空格數目從14 每次遞減2 一直容到0第二個for 控制 號數目,從...