C語言程式找出一二維陣列中的所有素數,形成一維陣列,並使用起泡法把素數陣列有小到大排序

2021-04-17 22:53:14 字數 6161 閱讀 2931

1樓:匿名使用者

提示你一

bai下哈,一個數是不是du

素數會不會?把這個功能zhi寫成一個函式daobool judge(int num),通過返

回值來判斷回是不是素數,把二維數答組用雙迴圈遍歷一下,諸葛判斷,ture那麼把這個值放到新的一維陣列中,fause那麼不放,判斷下一個。然後再用雙迴圈對一位陣列進行氣泡排序。

你先寫寫試試,不行的話我試著給你寫個你看一下。

2樓:匿名使用者

#include

#include

void paixu(int *a,int n);

int issushu(int a);

void main()

}//判斷是否是素數,是,返回1,否則,返回0int issushu(int a)

//程式我已經除錯好了,不懂的可追問哦!

c語言裡++是什麼意思 10

3樓:大野瘦子

自增1的意思,比如 int i=1; i++後i的值就變為了2.

兩種用法:

假如定義了一個變數i=1

1、若使用i++, 指代先取i的值再另i=i+1

2、若使用++i,指代先使i=i+1再取i的值

注意的就是i++和++i的區別,前者是運算完後自增1,後者是自增1後再運算。

c語言運算子

一、常見的加減乘除運算

1、加法:+ 還可以表示正號

2、減法:- 還可以表示負號

3、乘法:* 非數學意義上的x

4、除法:/  注意1/2的值為0而非0.5

5、取餘(模運算):兩個整數相除之後的餘數(注意兩邊都必須是整數,帶符號只和左值有關)

二、自增自減運算

int a=10;

把a的值加1有四種方法:

1、a=a+1;

2、a+=1;

3、a++;

4、++a;

簡單區分a++和++a。

int b;

int a=10;

b=++a; //a==11,b==11;a先把值加1為11,再賦值給b

b=a++; //a==11,b==10;a先把值10複製給b,a自己再加1為11

b=(a++)+(++a);  //a1==10,a2==12,b==22

b=(++a)+(a++);  //a1==11,a2==11,b==22

注意:int d=10++;//這種寫法是錯誤的,因為對常量進行自加和自減沒有任何意義。

4樓:w王

c語言中「++」是自加的意思。

1、自加,有兩種用法:假如定義了一個變數i=1

(1)若使用i++, 指代先取i的值再另i=i+1

(2)若使用++i,指代先使i=i+1再取i的值

2、c語言中的運算子的優先順序從高到低大致是:單目運算子、算術運算子、關係運算子、邏輯運算子、條件運算子、賦值運算子(=)和逗號運算子。

擴充套件資料:

c語言的語法結構:

1、順序結構:程式設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。

2、選擇結構:程式雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用選擇結構。

3、迴圈結構:可以減少源程式重複書寫的工作量,用來描述重複執行某段演算法的問題,這是程式設計中最能發揮計算機特長的程式結構。

具體內容:

1、for迴圈:for迴圈結構是c語言中最具有特色的迴圈語句,使用最為靈活方便,它的一般形式為:

for(表示式1;表示式2;表示式3)迴圈體語句 。(其中;不能省略)

for迴圈語句是c語言種功能最為強大的語句,甚至在一定程度上可以代替其他的迴圈語句。

2、do:

do迴圈結構,do 1 while⑵;的執行順序是1->2->1...迴圈,2為迴圈條件。

3、while:

while迴圈結構,while(1) 2; 的執行順序是1->2->1...迴圈,1為迴圈條件

以上迴圈語句,當迴圈條件表示式為真則繼續迴圈,為假則跳出迴圈。

5樓:墨陌沫默漠末

c語言裡++是自增運算子,表示自加的意思,有如下兩種用法:

假如定義了一個變數i=1

1) 若使用i++, 指代先取i的值再另i=i+1

2)若使用++i,指代先使i=i+1再取i的值

++在前是先給變數的值自加,及自身加一,再用變化後的值去參與運算。而++在後,則是先用原來的值參與運算,遇到一個特殊序列點(&&或||或,或?:或;)才使變數自加。

若b=3,a=b++;則a=3,b=4。若a=++b,則a=4,b=4。

c語言中其他類似的運算子:

1、( type-name ) cast-expression,強制表示式成為type-name指定的型別。

2、「 * 」 乘法運算子;「 / 」除法運算子;「 % 」 取餘運算子。

3、「 + 」加法運算子;「 - 」減法運算子。

4、<< 左移運算子;>> 右移運算子。

5、<、<=、>、>=關係運算子。

6、「 == 」等於運算子;「 != 」不等於運算子。

7、「 & 」按位與運算子

8、「 ∧ 」按位異或運算子(bitwise exclusive or operator)。

9、「 | 」按位或運算子(bitwise inclusive or operator)。

6樓:匿名使用者

自加。++a表示: a先加一,再使用;

a++表示:先使用a,再加一。

--a相同

7樓:月幻小櫻

++a 表示a+1.

計算時 先把a+1,得到4,再乘以b,結果是20.

++a 表示先

加一,再賦值。

a++ 表示先賦值,再加一。

打個比方吧,

int a,b;

a=3;

b=++a;

printf("%d",b);

結果是4

int a,b;

a=3;

b=a++;

printf("%d",b);

結果是3

8樓:匿名使用者

這個++要和a連起來看。++a就是將a加1。

另外a++是先使用a原先的值再對其進行加1。而++a是先加1再使用加1之後的值。

如這裡的結果c應該等於4*5=20 如果時c=(a++)*b則c等於3*5=15

9樓:匿名使用者

自加運算的。

假設說你上面的a=3;a++,那麼運算完了後a的結果就是4,這個跟++a是一樣的。輸出結果都是4,

但是還是有區別的。a++表示在運算之後才進行賦值給a的,++a表示在運算之前賦值給a。

10樓:匿名使用者

++a表示先把a=a+1,再做其他運算

a++表示先用當前的a運算,再做a=a+1

b=++a*c就等於a=a+1;b=a*c;

11樓:悲槍奏鳴曲

自增運算子,放在前面是先自增在運算,放在後面是運算完在自增

12樓:匿名使用者

自加運算

自身的值增加1

13樓:匿名使用者

這個都不會,怎麼學的

c語言中//與/* */的區別

14樓:愛抹茶冪語

c語言中//與/* */的區別如下:

①是否為單行註釋

//是用於多種語言的單行註釋語句。/**/是註釋語句,不限制行數,在「/*」和「*/」之間的即為註釋。

②實用性的區別

//是用於多種語言的單行註釋語句,適用方便快捷,但是實用性不如多行註釋

/**/是註釋語句,不限制行數,在「/*」和「*/」之間的即為註釋,實用性大,但是符號鍵盤敲打麻煩。

程式編譯時,不對註釋內容作任何處理。註釋一般可出現在程式中的任何位置。註釋用來向使用者或程式設計師提示或解釋程式的功能作用。

擴充套件資料

c語言的註釋符一般分為兩種,一種是以「/*」開頭,在中間加上註釋內容,並以「*/」結尾的段落註釋符。在「/*」和「*/」之間的即為註釋。

另一種是以「//」開頭,後面加註釋內容的單行註釋符。在「//」之後的即為註釋。

c語言的註釋符是以「/*」開頭並以「*/」結尾的串。在「/*」和「*/」之間的即為註釋。程式編譯時,不對註釋作任何處理。註釋可出現在程式中的任何位置。

註釋用來向使用者提示或解釋程式的意義。在除錯程式中對暫不使用的語句也可用註釋符括起來,使翻譯跳過不做處理,待除錯結束後再去掉註釋符。

15樓:匿名使用者

//只能註釋單行,而/**/可以註釋多行。

//只能註釋本行後面的內容,而/* */註釋中間包括的所有內容,可以跨行。

//是行註釋,//後面的又會被認為是註釋,而/**/是塊註釋,在/**/中的內容都是註釋。

塊註釋舉例如下:

/abcdefkgalsdjfajsdlfkjasl;jldsjg;lajdfl;

fasdgklasdjgl

fadskjfal

/行註釋舉例如下:

//abcdefkgalsdjfajsdlfkjasl;jldsjg;lajdfl;

//fasdgklasdjgl

//fadskjfal

16樓:匿名使用者

//雙斜槓右邊的內容全都是註釋

/*斜槓星號,以及下一個星號斜槓之間的內容,都是註釋

註釋註釋註釋*/

17樓:安徽新華電腦

/**/ 塊註釋

// 行註釋

塊註釋如下:

/*abcdefkgalsdjfajsdlfkjasl;jldsjg;lajdfl;

fasdgklasdjgl

fadskjfal

*/行註釋如下:

//abcdefkgalsdjfajsdlfkjasl;jldsjg;lajdfl;

//fasdgklasdjgl

//fadskjfal

區別不大,只是很多行時用塊註釋操作快一些。不過編輯器很多都有快捷鍵可以設定/取消註釋選中的**。

18樓:紳士貓

//只能註釋一行

/* */可以註釋多行。

當需要註釋多行時,以下方法更好用:

#if 0

註釋**塊

#endif

19樓:匿名使用者

// 是c++風格的,後者是c風格的。

// 有隻能註釋單行的限制,但是用/* */註釋多行碰到巢狀/**/時也會有問題,還是建議用// 或者#if 0的方式

20樓:匿名使用者

/**/表示/*到*/的這部分全都是註釋,能跨行註釋

//表示的是單行註釋,從//後到這行結尾全部是註釋(不能跨行)

//這是單行註釋

/*這是另一種註釋

*/這兩種風格的註釋還能在某些其他的語言中使用至於用哪種註釋在於個人習慣,不存在哪種註釋好不好的問題

21樓:我愛你

//只能註釋單行

/**/可以註釋多行。

22樓:匿名使用者

用//註釋:

//防偽

//版權為製造商所有

c語言的!=是什麼意思 20

23樓:蹦迪小王子啊

不等於的意思

。抄!= :a != b

判斷a和b是否不相bai等

不相等返回true(真),否du則返回false(假)=!意思zhi「不等於」

1、「=」是賦值運算dao符

2、「!」邏輯非運算子,邏輯操作符一般將其運算元視版為條件表示式,返權回結果為bool型別:首先對其運算元求值,若結果為0,則條件為假(false),否則為真(true)。

3、優先順序上「!」先於「=」。

c語言二維陣列下標表示方法,C語言二維陣列下標表示方法

下標就是在裡的,他是重0開頭的。具體表示如下 int a 5 5代表a最後個陣列裡的元素個數 是初學者吧!要努力喲!int n float a n n 都是從0開始到n 1 c語言二維陣列下標的值怎麼算 陣列的下標是從0開始,由於陣列是連續儲存的,你可以想象用一個4x4的 來表達這個陣列,然後把fo...

c語言中二維陣列行指標是什麼,C語言中二維陣列行指標是什麼

就是指向每一行的指標,比如說二維陣列a 2 3 a 0 代表的是二維陣列第零行的首地址相當於 a 0 0 a 1 代表的是二維陣列第一行的首地址相當於 a 1 0 a 0 1代表的是二維陣列第零行,第一列的地址相當於 a 0 1 行指標其實就是二級指標,也就是說它指向一個一維陣列,int a 2 3...

c語言問題 c語言中二維陣列在記憶體中怎樣儲存

嚴格意義上說不存在copy二維bai陣列,只是陣列裡的每du個元素是一個一zhi維陣列,而記憶體是一段連續dao的空間,根據你申請一個變數的順序按地址從低到高排,所以二維陣列不可能像一個矩陣那樣在記憶體中排列,這就涉及到它是按行依次往下排,還是按列往下排,而在c 中是按行,既 int a 2 2 a...