我初學C語言,請教一下高手,剛學c語言,求助大佬

2023-03-25 21:51:18 字數 3282 閱讀 7319

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 ...