北京大學C語言學習第一天

2021-10-05 00:23:20 字數 2171 閱讀 5664

1.篩法求素數

#include

using namespace std;

#define max_num 100

char isprime[max_num+10]

;//篩法求n以內素數

intmain()

for(

int i=

2;i<=max_num;

++i)

if(isprime[i]

) cout

}

2.陣列初始化

用陣列取代複雜分支結構:

#include

#include

using namespace std;

string week=

;int

main()

3.例題

已知2023年1月25日是星期三,編寫乙個程式,輸入用「年月日」 表示的乙個2023年1月25日以後的日期,輸出該日期是星期幾(星期天輸出0)?

sample input

2015 11 02

sample output

1思路:由題目知道2023年1月22是星期天,算出給定日期從該天起過了x天,然後輸出x%7.

#include

using namespace std;

int monthdays[13]

=;intmain()

if((year%4==

0&&year%

100!=0)

||year%

400==0)

monthdays[2]

=29;for

(int m=

1;m) days+

=monthdays[m]

; days+

=date;

days-=22

; cout<7

}

4.陣列越界

int a[10];

a[-2]=5;

a[200]=10;

a[10]=20;

int m=a[30];

以上可通過編譯,但是可能導致程式執行出錯。因為可能寫入了別的變數的記憶體空間,或者寫入指令的記憶體空間。

5.矩陣乘法

a b c x ax+by+cz

x y =

d e f z dx+dy+fz

a  b  c               x     w        ax+by+cz  aw+bu+cv

x y u =

d e f z v dx+dy+fz dw+eu+fv

以上就是矩陣的乘法

例題:程式設計輸入矩陣,輸出它們的乘積。

輸入:2 3

2 4 5

2 1 3

3 31 1 1

2 3 2

0 1 4

輸出:10 19 30

4 8 16

code:

#include

using namespace std;

int a[8]

[8],b[8]

[8],c[8]

[8];

intmain()

}for

(int i=

0;i) cout<}return0;

}

6.素數相關

判斷乙個數是否是素數

code:

#include

intmain()

}if(a==0)

else

}

當然也可以不打表通過篩選法來判斷乙個數是不是素數,思想和上面是一樣的

code:

bool isprime

(int n)

return true;

}

北京大學C語言學習第4天

指標的概念 指標的基本概念 每個變數都被存放在從某個記憶體位址 以位元組為單位 開始的若干個位元組 中 指標 也稱作 指標變數 大小為4個位元組 或8個位元組 的變數,其內容代表乙個記憶體位址。通過指標,能夠對該指標指向的記憶體區域進行讀寫。如果把記憶體的每個位元組都想像成賓館的乙個房間,那麼記憶體...

北京大學C語言學習第三天

字串1 所佔位元組數為 字元數加1 結尾有個 0,字串長度不包括 0。字串3種形式 1.雙引號括起來的 2.存放於陣列中的,以 0結尾 3.string物件 字串常量 空串 佔據乙個位元組空間,存放 0 包含 0 字元的一維陣列,就是乙個字串,存放的字串由 0 前的字元組成。char 陣列存放字串,...

c語言學習第一天

linux c語言學習第一天 linux部分目錄結構 bin 存放可執行檔案 dev 存放裝置檔案 乙個裝置檔案對應乙個硬體裝置 root root使用者的家目錄 root使用者是linux最高許可權使用者 lib 存放一些庫檔案 例如 c 庫 c 庫等 sys proc 存放核心資訊 tmp 臨時...