1樓:濮方雅
1、其後面緊跟的第一個語句塊,對本案例而言,是
if(a%i==0)
2、這句話意思是,如果標誌位flag為真(c語言定義一切非零的數即為真),那麼跳過下面的語句直接繼續迴圈。你可以改成 if(flag == 1) continue; 或者 if(flag != 0 ) continue;是一樣的效果。
2樓:匿名使用者
(1)不寫大括號自動找第一個分號,這裡是
if(a%i==0)
結束(2)if(flag)就是如果flag!=0的時候if語句成立,你可以試驗下,同時以後可能會碰到if(!flag)意思就是如果flag==0語句成立。
這個if不是跟上面的if對應的,所以不能用else,上面的if是在for迴圈裡的if判斷,只是沒加括號而已,語法沒錯
3樓:匿名使用者
for(i=2;i
if(a%i==0) for與離他最近的一句在一起。 flag為1就繼續外層迴圈,不輸出 4樓:灬心羽 (1) 迴圈到i =a-1結束 這個for語句執行判斷那句, 就是 if(a%i==0) 因為for(i=2;i
(2)flag就是用來表示a是不是素數的.如果 是素數, a%i 就始終不為0, 那樣flag就不會被賦值成1.所以 flag=0,那麼if(flag)判斷為假, 不執行continue, 就能列印出a這個數字. 如果不是素數i迴圈到某個數值的時候 flag就會被賦值為1, if(flag)判斷為真, continue執行,直接下一輪迴圈,不會執行到printf. 然後新的一輪迴圈開始,flag再次賦值為0. 用來判讀下一個數是否為素數 求高手用c語言程式設計,輸出[m,n]間的所有素數,並且每5個換行,如果區間內不存在素數,輸出0。 5樓:匿名使用者 程式源**: #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"); 執行結果: 6樓:匿名使用者 學過數論的人應該知道,m和n的大小要有限制,因為一個很大的數判斷它是否為素數從計算上是不可能 c語言程式設計輸出區間 [m,n]內的素數,區間範圍由使用者輸入,並統計所輸出的素數總數. 7樓:聽不清啊 #include #include #include int isprime(int a) {int i; if(a<2)return 0; for(i=2;i<=sqrt(a);i++)if(a%i==0)return 0; printf("%d ",a); return 1; int main() int a,b=0,m,n; printf("輸入區間 [m,n]範圍\n"); scanf("%d,%d",&m,&n); for(a=m;a<=n;a++) if(a==2) { printf("%d ",a); b++; else { b+=isprime(a) ; printf("\n素數總數%d\n",b); return 0; c語言輸入兩個正整數m和n,求出[m,n]區間的所有素數 8樓:匿名使用者 for(j=2;j<=i;j++) if(j==i) 這段**,你不感覺無論是哪一個數,都會被記錄下來,最後輸出嗎? 後面改成if(j!=i)//保證不是因為除以自身而跳出上面尋個迴圈的 9樓: 最後的輸出迴圈有點問題 for (int i = 0; i < x; i++)printf("%d", a[i]); 因為你上邊已經x++,你如果判斷條件裡寫成 for (int i = 0; i <= x; i ++) 程式是要崩的。 10樓: 除了1和自身之外沒有其它正整數因子的正整數稱為素數,也就是不用試1和自身 for(j=2; j<=i; j++)改為 for(j=2; j
如果數很大這樣還是比較低效的,最多試到i的平方根即可 11樓:匿名使用者 for(j=2;j<=i;j++) 改成 for(j=2;j
不然for(j=2;j<=i;j++)結束j = i+1;永遠滿足不了後面的if(j == i)也就是無論你怎麼輸入,都不會資料出來! 12樓:我艹恰好七個字 把for(i=0;i<=x;i++)改為for(i=0;i c語言 輸入兩個正整數m和n,求出[m,n]區間的所有素數 13樓:匿名使用者 下面的程式已經給你修改正確了: #include void main ( ) for(j=2;j
if(j==i) printf("%d ",i); //printf應該放到迴圈外,並且只有當j==i的時候i才是素數 }printf("\n");} 14樓:匿名使用者 素數,這一般是必考的。。。。。。。。。。。 求助一道大一c語言題 題目內容: 要求統計給定整數m和n區間內素數的個數,並對所有素數求和。 15樓:匿名使用者 你的素數判斷有問題 你的m值一旦變為0就不會再變回1了,我的建議是你最好將素數判斷作為一版 個函式int prime(int n) return flag; }這個函式的權flag相當於你的m,你可以看到flag在每次判斷的時候都是需要賦值為1的 有三種方法 1 輸出1 100以內的素數 2 同樣,也是輸出1 100以內的素數,這個構造一個陣列,將其所有元素初始化為1,表示素數,這時取x從2開始,到100以內做迴圈。若x為素數,即prime x 0,使得每個i x位置元素置0 prime i x 0 表示為非素數,迴圈結束前x 1。3 該方法... 半清醒丶不言語 如下 include int main int i 0 for i 100 i 200 i int j 0 for j 2 j i 1 j if i j 0 break if j i printf d i return 0 結果如下 拓展資料 素數,除了1 和它本身不能被其他數整除的... 1234567,4553207,12d687,1234567 u 無符號整型輸出十進位制數 u 轉換成八進位制數輸出 x 轉換成十六進位制數輸出 d 按整型輸出 最後有一個下一行的標誌 其他的都是固定的格式咯 簡單那 加油 多看書 挽ag181818v繪 在visual studio 6.0中輸出 ...c語言 輸出1到100之間的全部素數
將100到200之間的素數輸出c語言程式
C語言輸出格式問題啊,C語言輸出格式問題啊