1樓:網友
因為你判數素數中的迴圈條件是i<=k+1;
如果這一層迴圈體中的break不能被執行時,迴圈結束時i和的值至少是等於k+1,而sqrt的返回值是double型的,所以還要大於k+1,才能保證i的覆蓋範圍啊。
2樓:匿名使用者
你的程式不完整啊,有很多錯,最好把題目也貼出來啊……#include
#include ""
void main()
//第一個for結束v
printf(""
//為什麼程式中i要大於等與k+1,程式才能正確執行,i大於k或i等於k程式輸出都是錯誤的結果??
3樓:網友
你這個程式是輸出101到200之間的所有素數。 如果m為素數,那麼i取遍2到k之間的所有值,都不能滿足m%i==0,退出for迴圈的時候i的值是k+1,這正好滿足if的條件,於是m被輸出。 如果m是偶數,那麼總有一個2到k之間的值滿足m%i==0,這就執行了break語句,退出迴圈時i的最大值是k,這不滿足if條件,m也就不能被輸出。
4樓:網友
程式好象是求素數的,不過程式有問題。
5樓:網友
這個題目還是很簡單的,可你提供的資訊給我們不夠,什麼題目?
剛學c語言,求助大佬
6樓:
我經常使用這個公式來計算星期!
解釋如下:每月一號是星期幾 - 1,其實就是上個月最後一天是星期幾。比如,今年 2月28日 是星期一,那麼,這個引數就是 1。
今天(3月27日)的日期是 27,那麼 27+1 = 28,然後對 7 求餘(28%7) =0。那麼,今天就是星期日(0);
用這個方法,可以求出 3月31日的日期是 31,那麼 31+1 = 32,然後對 7 求餘(32%7)=4。那麼,可以知道 下個月(2023年 4月)的這個引數就等於 4。
c語言初學問題 15
初學c語言,請幫忙解答一下
7樓:程式設計師小熊貓
這題第一眼看上去好像很難,其實找個數試下馬上就出來了。
因為變數c的值不為2、4、6時,所以假設c=7;
b.(c>=2&&c<=6)為 0,所以0||1||1 = 1c.因為(c>=2&&c<=6)= 0,所以&&後面的不用判斷就知道(c>=2&&c<=6)&&c%2) =0
d.和c一樣的分析 也為0
所以正確答案為b.
希望對您有所幫助,謝謝~
8樓:夜的七絃
因為變數c的值不為2、4、6時,所以假設c=7;
b.(c>=2&&c<=6)為 0,所以0||1||1 = 1c.因為(c>=2&&c<=6)= 0,所以&&後面的不用判斷就知道(c>=2&&c<=6)&&c%2) =0
d.和c一樣的分析 也為0
所以正確答案為b.
c>=2&&c<=6)||c!=3)||c!=5)由於是邏輯或,只要有一個表示式為1即為「真」
c不為2、4、6,即有以下幾種情況。
1、c < 2,滿足 c !=3, 為「真」
2、c大於等於2小於等於6,即c只能為3或5,當c=3時,那麼滿足 c!=5, 為「真」
當c=5時,滿足 c!=3,為「真」
3、c > 6, 滿足 c !=3, 為「真。
9樓:匿名使用者
答案b(c>=2&&c<=6)||c!=3)||c!=5)由於是邏輯或,只要有一個表示式為1即為「真」
c不為2、4、6,即有以下幾種情況。
1、c < 2,滿足 c !=3, 為「真」
2、c大於等於2小於等於6,即c只能為3或5,當c=3時,那麼滿足 c!=5, 為「真」
當c=5時,滿足 c!=3,為「真」
3、c > 6, 滿足 c !=3, 為「真」
有關c語言 我是初學者
10樓:
以一個位元組為例,一個二進位制形式為「11111111」的數。
當它為有符號數時,第一位是符號位,「1」表示它為負數,之後7個「1」為該數的數值。因為負數採用補碼形式儲存,所以這個數是-1
當它為無符號數時,第一位也是數值位,8個「1」表示255有符號數向無符號數轉變時,第一位符號位變成數值位,這樣「-1」變成了「255」
無符號數想有符號數轉變時,第一位數值位變成符號位,這樣「255」變成了「-1」
希望能幫到你,望^ ^
11樓:匿名使用者
nani_z 的已經大概說明了有符號和無符號的區別。
預設情況下,基本的幾個整數型別的最高位被預設為符號位,實際上不管是有符號還是無符號,它在記憶體中,都只有一種形式,那就是0-ffffffff。
有符號和無符號整數型別的區分,只針對編譯器,編譯器會根據有符號和無符號來選擇如何編譯它的運算過程,而最終輸出的東西,還是取決於你自己,在標準輸出流中,是在ostream中直接有型別的過載,所以cout能直接根據有符號和無符號的正確型別來選擇輸出。
unsigned int n = 0xffffffff;
printf("%u, %d", n, n);
coutprintf("%u, %d", n2, n2);
cout《如果要了解有符號和無符號的具體運算過程,你可以寫幾個加減乘除的**下個斷,看看反彙編。
12樓:匿名使用者
這本書講的不好,等下我給你解釋一下。其實很簡單,就是有符號數可能是負數,如果是負數呢,就需要轉符號,需要加個數在計算,無符號本身如果很大就會存在溢位,所以就需要看最高為了。
13樓:淡騰搖銘
c語言中有符號整數型別通過最高位來判斷他是不是最高位。最高位時1時,代表有符號,最高位時0時,代表無符號。在做強制型別轉換時,當然就是書上說的那樣。
初學c語言 求助
14樓:天雨下凡
只要明白%是求餘就行了,比如:
5%2就是用5除以2,求它的餘數,因為5÷2=2餘1,所以5%2的值為1
因為a的值為5,所以(a+100)%2就是(5+100)%2=105%2,當然是1
其實此題難點不是(a+100)%2,而是a/2,在c語言中,int型除以int型,結果也是int型,就是對商直接取整,a/2就是5/2,在數學中5/2=,取整為2(注意取整是不會進行四捨五入的,直接丟棄小數部分),即5/2=2
整個表示式(a+100)%2+a/2的值為3
C語言高手看一下
include 標頭檔案要載入到最前面,因為你的第一個jia的函式就呼叫了printf函式。另外,不知道那個是什麼,但是這個stdio是標準c的標頭檔案,應該使用這個。int jia 這裡的float改成了int,因為你最終的返回值是int型的。之前你的函式里你傳遞了。s這個值,這是不必要的,因為無...
請教c語言問題,麻煩解釋一下,謝謝
bfor p a,s a p a 10 p p s a s指向第一個數6,而p則 也就是從第一個開始比較 如果 p s s就是現在最大的 再繼續比 請教一個c語言的判斷題,麻煩解釋一下,謝謝!若有語句 char s1 string2 則 誰說是正確的?strcpy china s1 和strcpy ...
c語言程式,請高手幫忙看一下錯誤
include stdio.h include stdlib.h 巨集定義 define ok 1 define error 0 define overflow 2 define sksize 20 typedef struct sqstack 初始化棧 int initstack sqstack ...