Àëãîðèòìi÷íi ìîâè òà îñíîâè ïðîãðàìóâàííÿ: ìîâà...
TRANSCRIPT
-
ii i i i i
..i
ii
:
i
i
i i i( 4 i 03.12.2007)
2007
-
004.423.2 (075) 32.973-018.175
48
i .. ii : i. : ,2007. 328 .ISBN 9789666831432
i, , ' i i, . ' ii , ii - i. ii i i i.i i i i, i , i, i.
:i ..,..., .. i
ISBN 9789666831432 .. i, 2007
-
i
7
1. 81.1. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2. ii, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3. - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.6. i : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.7. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. i 212.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2. Ii, i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3. i i . . . . . . . . . . . . . . . . . . . . . . . 252.4. , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.6. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.8. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.9. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3. i ii i. i 353.1. i i i . . . . . . . . . . . . . . . . . . . . . 353.2. ii i i i . . . . . . . . . . . . . . . . . . . . . . . . 363.3. i . . . . . . . . . . . . . . . . . . . . . 383.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.5. i i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.8. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4. i i i 504.1. . . . . . . . . . . . . . . . . . . . . . . . . . . 504.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.3. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4. i i i . . . . . . . . . . . . . . . . . . . . . . . . . 524.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.6. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.8. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.9. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.11. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
-
i 4
5. i 625.1. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2. i i ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.3. i i ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.4. i . . . . . . . . . . . . . . . . . . . . . . . . 685.5. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.6. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.7. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6. . i 756.1. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.3. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796.4. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806.5. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.6. : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.7. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856.8. i , . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.9. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7. i ' 907.1. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907.2. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917.3. i . . . . . . . . . . . . . . . . . . . . 937.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957.5. i ' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977.6. i i . . . . . . . . . . . . . . . . . . . . . . . . 997.7. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1007.8. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.9. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
8. i 1048.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048.2. i ii. i . . . . . . . . . . . . . . . . . . . . . . . . 1058.3. i i 'i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068.4. - i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078.5. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088.6. ii 'i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108.7. i ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128.9. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148.10. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158.11. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
9. i 1189.1. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189.2. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239.5. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1259.6. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
-
i 5
10. i, 1 12810.1. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12810.2. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12910.3. - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13210.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13410.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13610.6. : . . . . . . . . . . . . . . . . . . . . . . . . . . 13810.7. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
11. i, 2 14311.1. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14311.2. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14411.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14611.4. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14811.5. ii i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15011.6. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12. i 15412.1. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15412.2. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15512.3. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15712.4. ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
. i 160.1. i i printf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3. ii i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.6. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.7. i ii i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
. i 167.1. i i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167.2. = i i . . . . . . . . . . . . . . . . . . . . . . . . 168.3. i ii . . . . . . . . . . . . . . . . . . . . . . . . . 168.4. ii & i i scanf . . . . . . . . . . . . . . . . . . . . . . . . 169.5. i i- . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169.6. i ii . . . . . . . . . . . . . . . . . . . . . . 170.7. i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170.8. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.9. i . . . . . . . . . . . . . . . . . . . . . . 172.10. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.11. i i 'i i 'i . . . . . . . . . . . . . . . . . . . . . 173.12. i ' . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
. 177.1. I i i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177.2. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178.3. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179.4. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180.5. i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
. ii 183
-
i 6
. ii i 188
iii 194
-
i , i , . i i ii.
ii i i, ii ii i i i. i . , i i UNIX ( UNIX, Linux, i i ). i , i i '-i i++, i-i.
i i ii - ii, i , i. - i , i i i, i , i i . i, i i, i i, , i i , , i, i , i , i.
i i i i. - i i i i. i i, ii i i. i i i i, i i i ii i , i i . i i i- i i , ii, i i .
i ii ii: i , i, i i . ' ii : ii i - 'i i , i iii ii: i , i i i.
Ii , i ii- . i ii, ii i , ' . - ii i: , i i i ii.
i ii i i. i . ( i ii i) - i i i, i, i i.
.iii i .
-
i 1
1.1. i
i : i, , i,
' i, ii i. i , i i ii i, ii ii .
i ii i, '. ii , i - i , i i i i i'. i , - i. i i .
i i i -. , i i- i ii i . i ii i i , i .
, ii i i i -i. i i, i -, i 1 i , i i . , i - , i . i , i , - i. , i , (. 1.1).
ii i i i: i i. i
1, i i i, i.
i i
i
i i
i
. 1.1.
-
1.1. i 9
i i - , i i -. i i i i ii i : ii , i i i. , i ii i , - i, i i. I i i ii . ', , , i i.
i i i i .i i i , i , . i , i i - . i , i , . ,i i i. ii i-i: i i , i, i , ii, i i i i i , i i, i .
i , ii -i ('i ): i i , i i i , , i - . i i i i, i i .
I ii ii i, ii ii i i i . , , i i i i i. i iii , i i . i , , (i) i , i . i i, i ii i .
- ii. () i i i i - ( i), ii i i i i . i . ii i i : i i ' (). i (-) , i i i i. i i ii i i , i '.
, i i, i , i . i iii i i, i i i ,i i i , i, ii, iii i () .
i, i i i, i, i, -i, ii, ii ii. i , i ii, i. ii i i i , i i -i . i , i ii, (i , i i).
' i, i i, i-
-
1.2. ii, 10
i i , i i i . , - i : i n 1 2 . . . (n 1) n,i i i i, i .i, , i, i n( i), i ii, i 1 n.
! i , ' : i ( i) i i-i ' i.
i i i , i i i i. , i , i, i i i i i.
i i i, i ii i '-i i , . i , -i ii i . , i , i, .
! i i , i , i i .
i , . 1.1.
1. i? i?
2. ?
3. ?
4. (, i i i i - ) ' , ii i i :
i ; i i i i i ; i i i -;
i ' i;
5. i (, ii, i i, i i ).
1.2. ii,
i : i, i, 'i, , ,,
i , . , a, b (-ii i) m ().
i, i i, i i. i i i' i i i a,b m. i , i i i. , , i m ii a+b2 ( i).
-
1.2. ii, 11
i i i () 'i . , i 'i, a = 2, b = 6, i : a = 28,b = 32.
ii i, iii, i i, i. -, i a = 28, b = 32, a+b 60, a+b2 30.
i ii , i . x E, x i' i, E . i'i ( i) E i i x. 'i, i x , ii ii i , i i. , i a = 28, b = 32 a a + b, a = 60,b = 32.
, ii , -. i i, i -, i .
i. i i i, i , .
! . 10: i i. . . . i i. -.
i i i, , ii . , i s i 2, 4. - ii, i i ii ,, , i i i M =
ni=1
1i2 .
i i , i, . i i ' , i
, i i, i i . , ii a b ii , a + b, a b, a b, a/b, ab. ii u v , u + v, u v, u v i, u/v uv .
i - . ('i ) i i, i . i , i i i 'i, i i . i i i , - i , , i i, i .
i , i (, i ii ), i , i i i, i ii , . : i i.
i, , i, ii i i. , i i , i i , i, 20, 67 i. , ii i i .
! i i : , i , , 12 12, 0 i ii '. i , i. , i , i 12, 0 i 12, 12, 0 i (
-
1.3. - 12
GF ED@A BC
x a + b
GF ED@A BCi
. 1.2. ii -
), i 12 i . i i -ii 'i .
1. i, i, 'i?
2. ?
3. i i i i i ?
4. ii i ? .
5. 'i i i x = 12, y = 8, t = 1. 'i i t t + (x y)?
1.3. -
i : -, i, i , -i, , , ,
i i i : i i (, ) i , i , i . - i 'i i i i i i i . i , i , , -. i, , i .
i i -. ; . ii , i .1.2.
i 'i i i , i i, i . , i i, . , i, . 1.3, 1, i 2, 3.
i, i i i - . i, i i i , i i i -i. i, i i , i i , , (. 1.4). ( i, ), i 'i i . i - 1, 2. i, i ,
-
1.3. - 13
1
2
3
. 1.3. i i
TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT i
1
2
. 1.4. i ()
i i , i , i, . i i ii 3.3.
i , , i . i : i , i . i (. 1.5). ,i i ( i ), . , iii i i, : i 5, 10 100 i, i, i i, .
! , i ii- i : i i, i i i , i i i. iii , i i i i - , i ii i i i , i i, i .
i i i . ( i) - , i , i, i, i ,i . i, i 0 i i: i, i () , i i (), i. (), i, i, i
-
1.4. i 14
()
//
TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
i
()
()
//
TTTTTTT
jjjjjjjjjjj
jjj TTTTTTT
i
()
. 1.5.
i, i. i 1 ii.
i , i, i-, i, , - . i-ii , i i i , .
1. -i (), i ?
2. i i i?
3. ii i? -, ?
1.4. i
i : , , - . 1.6. -
i i i 1, i , i i 2, i 3 4.
'i i, - ii x = 15, y = 9. i i i 1. i x 6= y ii i- 'i 15 6= 9 i . i , , 'i i-: x = 15, y = 9. i, i , i i 2, . i i ii- (15 < 9), , i i i 4, 'i i.
4 , ii i: x y = 15 9 = 6. i 'i: i x i 6, i y , i, 9. i 1 i , i i, i .
1 i 'i , x 6= y i (6 6= 9), . i i 2. i, ,
-
1.4. i 15
GF ED@A BC0.
//
1. x 6= yTTTTTTTjjjjjjj
jjjjjjj TTTT
TTTi //
GF ED@A BC5. i
2. x < yTTTTTTTjjjjjjj
jjjjjjj TTTT
TTT i
3. y y x
4. x x y
oo
. 1.6. - i
i 3, i i x < y (6 < 9). 3 'i, x = 6 ( i), y = 3 ( ). i 1.
1 i 2 ( ), i- x 6= y i. 2 ', ii x < y i 4. , , ii x , - xy ii i i, i 3. i i , 1.
x 6= y , i i 5, . , , i 'i: x = 3, y = 3.
i i. i , , i -. i, i 'ii . i i i, . - ii i , , i i. , 'i ii . 1.1.
, , , - i i i i .
1. i : x = 20, y = 28. - i i. , i i i i 20 28.
2. - , i i x y i ii m.
-
1.5. i 16
. 1.1. i
x y i0 0 15 9 . i 11 1 15 9 x 6= y i, i 22 2 15 9 x < y , i 43 4 6 9 i 14 1 6 9 x 6= y i, i 25 2 6 9 x < y i, i 36 3 6 3 i 17 1 6 3 x 6= y i, i 28 2 6 3 x < y , i 49 4 3 3 i 110 1 3 3 x 6= y , i 511 5 3 3
1.5. i
i : i , i , , .
i i ii i. i ii , 'i .
i i , . , , i, i ii i .
i i 0 . . . 9. i , , ii . i , i i 1, i 10 i i, i . i, , 7068. : i ii , i i, i :
706810 = 7 103 + 0 102 + 6 101 + 8 100.
i, n- an1 . . . a1a0, ai i ,
m = an1 10n1 + . . . + a1 101 + a0 100.
i . i ki i 0 k 1, i k i i .
i , k = 2. i i 0 1. i ii. i, ,i 110010112 .
110010112 =
= 1 27 + 1 26 + 0 25 + 0 24++ 1 23 + 0 22 + 1 21 + 1 20 =
= 128 + 64 + 8 + 2 + 1 = 20310.
, , i , , i i i 1, iii -i i.
-
1.5. i 17
. 1.2. i
0. 1380: 2 =690 mod 01. 690: 2 =345 mod 02. 345: 2 =172 mod 13. 172: 2 =86 mod 04. 86: 2 =43 mod 05. 43: 2 =21 mod 16. 21: 2 =10 mod 17. 10: 2 =5 mod 08. 5: 2 =2 mod 19. 2: 2 =1 mod 010. 1: 2 =0 mod 1
! i i ' i i: 1, 2, 4, 8, 16, 32, 64, 128,256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536. i i i .
i, i i i i . i x, i ii i. i 2 i i i, x1, 1 a0:
x : 2 = x1 mod a0.
a0 i () i x.i x1: i 2
i i:x1 : 2 = x2 mod a1.
i xi i 2, i ai i x. i , i xn = 0.i
x = [anan1 . . . a1a0]2 .
i 1380 (i ). i i i (. 1.2). i i i (i i) , :
138010 = 101011001002.
! i ii i ii . i ! i , i i i , i ( i) , .
i i . i i i ii , 138010 , ii, 1010112 ii i. i i: b i (i . binary), d (i . decimal), 1380d, 101011b. i i, i: i ii , , i .
1 i i - 2 i 0 1.
-
1.6. i : 18
i i i . i i i , . , i i i .
1.6. i :
i : , i . , ii i i ,
ii i . ii i , i i ,
i . i ii i, - ( i) i ii ii i(, i i).
i , i-, :
0+0= 00+1= 11+0= 11+1=10
, i , i i - .
, 157 44. , i :
157d = 10011101b,
44d = 101100b.
, i , . i i :
1 0 0 1 1 1 0 1+ 0 0 1 0 1 1 0 0
. . . . . . . .
i (i) . 1 + 0 = 1, i 1, 0 + 0 = 0, :
1 0 0 1 1 1 0 1+ 0 0 1 0 1 1 0 0
. . . . . . 0 1
i 1 + 1 = 10, i 0, 1 :
11 0 0 1 1 1 0 1
+ 0 0 1 0 1 1 0 0. . . . . 0 0 1
i i1 + 1 + 1 = 10 + 1 = 11. , , :
-
1.7. i 19
11 0 0 1 1 1 0 1
+ 0 0 1 0 1 1 0 0. . . . 1 0 0 1
' i, , 1 + 1 + 0 = 10, i- :
11 0 0 1 1 1 0 1
+ 0 0 1 0 1 1 0 0. . . 0 1 0 0 1
i 1 + 0 + 1 = 10 (0) i :
11 0 0 1 1 1 0 1
+ 0 0 1 0 1 1 0 0. . 0 0 1 0 0 1
i, i i, 1 + 0 + 0 = 1, , i 1 + 0 = 0. :
1 0 0 1 1 1 0 1+ 0 0 1 0 1 1 0 0
1 1 0 0 1 0 0 1
:
11001001b = 27 + 26 + 23 + 20 = 128 + 64 + 8 + 1 = 201.
i i 157 44 , ii i .
i ii i : 37 + 23,73+27, 80+48. : , ( s), i i i , ii i i , i s.
1.7. i
i , i -. i , . i i. i i i . i , i i, i i. - i i , ii: i i.
', i i i.i i . i i i ( i i 'i). i i i 'i. , i i i i. i - i 'i i i ii i iii
-
1.7. i 20
. i 'i, i ii , i 'i.
i i i , i - ii . i i . i ii i : i -, ( i) .
i , ii i. i i i , 1 0. ii ii i, i . i . i i 2, i i i , i i. i , iii, ii i i i i , i i i .
-
i 2
i
2.1.
i : i i include, imain, i, i, i, , i printf, i scanf.
i i, .
/* i.
, i
() ..i , 2007 */
/* i i : */
#include /* - */#include /* i */
/* i */
int main( void ) {/* ii */
double alpha_deg , /* */alpha_rad ; /* i */
/* i i !
i */
printf ( "i \n" );/* i */
scanf( "%lf" , &alpha_deg );/* */
alpha_rad = alpha_deg * 3.1415926 / 180;/* i */
printf ( "%lf i = %lf i\n",alpha_deg , alpha_rad );
/* */
printf ( " = %lf" , cos( alpha_rad ) );return 0; /* */}
i i i i -, i . , - i i i , , ii i i.
( -i ii i), ii i - i i /*...*/, . i i - ii . i , , i , ,, i. i i, .
i -i , i, i . , i i - . i, -
-
2.1. 22
i, i ii i. : i i , - i i . i, , , .
! i i '. -i, .
#include i. -i i ii 12.2, . i i i , i i i. - i stdio.h i i- (printf ii scanf i). math.h i i, ii cos.
i i, i i. , - i i, i iii . I i ii - i i i, ii i i.
( , , i i,i ), i i, i' main (. ). i
int main( void ) {...}
i i i, . , , i i, i. i main -i i. i i i, imain, , , ii i.
i int void i i return 0 i-i . i i , i. i i ii 5.2.
, i i ii { }. i , i , ' i i. ii , i i i - , i .
ii i i. (. ), ii , i, i:
double alpha_deg , alpha_rad;
i , i i ii i alpha_deg alpha_rad, i ii (i) ( double i i i'i). I , , , i i ,i i. i, i' i '.
printf ( "i \n" );
i i printf. I , i main - i i, . i - i printf . \n
-
2.1. 23
: i, , , i, ' . i i printf i i 2.6 2.7.
! i i i ( ) i i i. : i' ii i , i , i i .
i scanf.
scanf( "%lf" , &alpha_deg );
i, , ii i , i : "\%lf" &alpha_deg.
! i i i, i . , ii
i. i , i Enter, i scanf i- i ( i i ) "\%lf", i ', i alpha_deg. i scanf i ii 2.8.
alpha_rad = alpha_deg * 3.1415926 / 180;
: i alpha_deg ( - i) i 180. i alpha_rad. i , i alpha_deg , i , i alpha_rad , i i.
printf ( "%lf i = %lf i\n",alpha_deg , alpha_rad );
i i , i . i printf i alpha_deg, (ii -i ), i i i \%lf, ii i alpha_rad, ii i i \%lf. i i- i printf .
i,
printf ( " = %lf" , cos( alpha_rad ) );
ii i , () icos, i i alpha_rad (i i -i i i i i i i). i cos i , , , i printf. i printf, , =>".
! i i i i -i.
, i i i. i i i .
i ii i :
i ;
;
i;
-
2.2. Ii, i i 24
i i;
i;
;
i ;
i ;
i.
2.2. Ii, i i
i : ii, i' i, ii, i, i ii i i i
i ( i), ii i, i i _, i1.
ii i, i i _, i , , i _, ii. , i i,i, i iii.
iii (, i i): x, M, cp23, cor2tef4w,EvenNumbersCount, warm_water_volume2. i ii: 2_top ( -) moon@light, step#process (i i ).
! i i i i iii i i: ask Ask i i ii, i i i.
i, i , i ii i - , i' . i i i' i , i . , i, ii -, count (i . i), i, ii alpha -. ii, ii i, i, j, k, i.
i , i i , i i i: i i, , i i, i.
i-ii , ii- i i, i i (, warm water volume). i, i i i (. ii) i i ii: i ii, .
i, ii i, i , i , i i' i ii i, i i (, i ii i pages_count), i (, WidePagesCount). ii i i i, i i i (, , ).
i i, i i i i i-ii, i . i' i i i . , i i i do: i ii-, i i . i i.
1 , i i i i,
-
2.3. i i 25
1. i iii i, i i, i ?great, mi%cro, vinnik8, 10meters, my_age, i, Stop It, ProperHeatingTime1, 1.
2. i i, i : ii ii, ,i, ' , i i , -.
3. i' i i i ?
2.3. i i
i : i int, i double, , i , i, iiiii i i.
i i i , i (, i i i ), i , i i i, i , . i i i, i ii1.
i : i int ( i i'i ii , i , ii, , i- i, i i i ii) i i double( i , i , ii, -, i). i i i, i , ii ii i i 3.1.
i i , i i-i , i. , i ii 0, 1, 144, -211 2.
i , double, i i (ii ), ( i ) ( i ii ). i. 2.0, 3.1415926, -2.41.
i , i i i (ii - a 10k): , , , i e i . , 2.4e5, 7.42e-4 -3.1e7 ii 2, 4 105, 7, 42 104 3, 1 107.
i i i i, -, i, i i. ,, i. ii, i.
i , i i , i 'i i i i, i i . , i i . i i i i i i.
ii i :
i'i; i'i , ... , i'i;
i i , - i i i i
1 , i ii , i, , i , i .
2 , i i i i , ii iii, i .
-
2.4. , 26
. i ( ii - , ). i i i . iiiii1, :
i'i = ;
:
int N;double price , total_sum = 0;int i, j, k = 1;double alpha4 = 3.1415926;
1. i i : 13, 85, 5, 37 1010, 3, 007 1012?2. i i, i i?
int is_closed;
double alpha, beta, gamma, x;
int block1; block2;
int a, b, c
int brush_width, double thickness;
3. i i:
, ' , (ii); ii i , ii i, i, i- ;
i , i , i, i.
2.4. ,
i : , i, . i i , i i, i
i i, . i +,ii -, * i /. i i i:
12
56 + 40 * 2 - 38
20.5 + 0.16 / (5.3 - 2.1)
i i , i i ,i i . , i ii:
double price , total_sum , x;int i, j, k;
i i :
(k + 18) * (i - 2 * j)
1Iiiii (i ) i i i , ii i i, ii i - -
-
2.4. , 27
i + price * x + k * total_sum * 1.05
k
i , i ii iiii. ii ii i, k, i i , i i . i i , i' i i .
i i. i, i i i, i i i, - i i . i i i , i' sin (, i i ii). i i , sin() i- , i sin ( i i). i , i i cos, exp ii, i i iii i i.i sqrt ii : sqrt()
. , i 12 * exp(x + sin(2 * x)) - sqrt(x + 10).
i i ii i
i 'i = ;
= i , i. - i .
, , i =, i ii,i' ii i.
i i i i -:
double x, y, r, omega = 4, t = 0.327 , phi = 1.15;int i = 10;x = -1;y = r * cos( omega * t + phi );i = i + 1;
i ii x 1. -i ii y , ( t x , i i , i i r, 0).
i i , i i i i, i . , i i, , 1,i i i i. , i i 1.
1. i price i i ', i n i ii 'i. i , ii total i i 'i.
2. ii R i ( ), ii I ( ), i i. i , ii U ( ) i.i ii i .
3. ii time_hour i i . ii time_min i .
-
2.5. 28
4. ii v0 i i i, ii a -, ii t (i i ). ii s , i, - ii. i ii i .
2.5.
i i. , ' i
x2 + 3x 4 = 0
ii 1.1, i ' i, ' - i.
a x2 + b x + c = 0
a = 1, b = 3, c = 4. i D = b2 4ac, i
D = 9 + 4 4 = 25. , D < 0, , ii i iii .
i i i
x1 =b +
D
2a, x2 =
b
D
2a.
x1 = 1, x2 = 4. (. i 2.3), i
, i i i i i -i. , ( i i main i i , i i i - ):
double a, b, c;double D;double x_1 , x_2;a = 1;b = 3;c = -4;D = b * b - 4 * a * c;x_1 = (- b + sqrt( D )) / ( 2 * a );x_2 = (- b - sqrt( D )) / ( 2 * a );
ii, ii ii i,i . , , ii i . i i iii , i . i , i - i i . i ii i, i i (i), i.
i, , i, ii ii i, - i . -i. i , i i b . i, i i i i.
-
2.6. ii 29
2.6. ii
i : stdio.h, i printf, , ii.
'i , i i -ii i: i i i . i,i i 'i i, i i ii i i i , .
i i i - (i ii ). ii , ii, i- i i iii .
i i i i stdio.h, - i i standard input-output -. , i ,
#include
i printf . i -i iii, i. i , i i ii .
i . i ( , ), , - i, . i i i i, , i i -. , i (i ), i . , i (i ), i, i .
i i -i, , ii ("), .
printf ( "i!" );
i , ii i ii, i . , " , , i i. - iii, i i, i i , i ii ii i, i .
! ii . ii .
, i ("). , i, i '
i " Ii"
i
printf ( "i " Ii"" );
i . i, " , " ( ) , Iii . i i, i , .
i i : - i , i ii \". , i
-
2.6. ii 30
printf ( "i \" Ii \"" );
! ii \" , - . , 'i i . i , i.
i i (-) '.
i , i i, i i i i, i i.
i i , \n. ,
printf ( "\n\n\ni" );
i
i
! i , , , , i printf, ' . .
i \r i . , , i ,i i , i i , (i), i . :
printf ( "" );printf ( "\rii" );
, i ' , i . i , ( i).i i i i , i ii.
! i , i i i . , ii i i .
i, \t. i i 8 i. i \t , i . ,
printf ( "i\t2\t\n" );printf ( "i\t1\t\n" );printf ( "i\t0 ,8\t\n" );
i 2
i 1
i 0,8
i i ii
-
2.7. 31
i i \? ,
==///\\\==
2.7.
i : i printf, , i i printf ' (
) ii . i i ii i1.
, i ii ( i ), , . i i, i - i i, i (i)ii ii (. ). i i, ii i i ii i. i , i ii .
i i i % , i . i ( int) i d, i ( double) i lf.
.
int k;double m;k = 12;m = 1.05;printf ( " %d, %lf ", k, m );
i %d ' i i k, i %lf i i m. i printf , , %. , i ii.
i i , i i i , i. i, i printf i k ( i 12), 12 i . , 12.
i , i printf - i . i i , i, i i-i, . , i, i , i i, i i i.
i, i printf i i m (i 1,05), 1.05 i i - . ,
12, 1.05
i i i i .1., i i i ii, -
i , :
1 i , i ii i, i i -. i i i i i i i ii i. i printf.
-
2.8. i 32
printf ( " i %lf ", n * price );
! i % i. i %, %%,
double x, m;x = 37; /* ii */m = 50; /* i */printf ( " %lf%%", x * 100.0 / m );
74%.
1. i x i , i-i , : : 1.5, 2.25, 3.375;
2. i i ii, x y i . , i i x i y.
3. i i (. - . 28).
2.8. i
i : i scanf, , i i i. i i scanf.
i i i. i , i -
ii. i i i, i i i . ii i i i iiii, i i i.
i scanf , , i i ii ii i. , i Enter, i scanf i -ii i, i . , i i ii iii i i i - i.
, i i int x. i , -, i i scanf i
scanf( "%d" , &x );
ii i 123, i scanf iii -i %d i i i, 123i i i x.
! i i i scanf ' &()1, ii , i, i - .
i , i i ii. i i scanf i ,i , , i ii . i scanf i iii i , , , i - .
1 i & i i i i , i , .i 7.
-
2.8. i 33
,
int k, l;n = scanf ( "A(%d!%d)" , &k, &l );
i i scanf i ii i, i A i , i i , i i . A(23!46), i ii , i i ii i i k l ii 23 46.
A(23,46) (i , , ), i scanf i i "A(%d" - ii A(23 ii k 23. i i i ii , i i . iii , i scanf , i l .
i, Q(23!46) A[23!46], Hello , i scanfi i , i i.
, i i i i i, , i . , i i , i . i i i i, i i i .
i scanf ii i i. i i , . :
int k, l, n;n = scanf ( "A(%d!%d)" , &k, &l );printf ( "%d i i \n", n );
A(23!46), i, i ii A(23,46), ii, i, hello, ii 0 i i .
i i i i scanf, -, i i.
! i , , i i. :
printf ( "i ii : " );scanf( "%d" , & n_generators );printf ( "i : " );scanf( "%lf" , &alpha );
1. , i i .
2. , i (i-i ) i.
3. ' i . 28 i ' i i i ii. , ii ii i.
4. , i::, , ii . ii , ii ii hour, min, sec.
-
2.9. i 34
5. , i.i.i.
2.9. i
i i i. i i i i main. i i ii . i i ii i . i , i i ii, i ii i, i . i ii .
I i ( i, ii ) ii. Ii ii i, , i i, .
, i i i (-, -i ) i i , i i.
i i, i i . - i i i i i , i .
i i , i -i, i, i i i. i , , ii, i i .
-
i 3
i ii i.
i
3.1. i i i
i : i i , i i , , i i, i i i, i.
i ( i ) i , i i - . i . i, i , i ii i, i i .
, i i . i i i : x = x + ;. i i i i i ix += ;. i -=, *=, /= ii.
i i i . i, x = x + 1;, x += 1;, i i ++ i. ii, ii --, . i i - , i i ii i, ++x x++. i i , i i, ' ii .2. i i (), ii.
i i . i i i i i . i i, i .
! 4/5 0, 4.0/5.0 0,8. ii i , i i.
i i i , (i ), i i i . i i. i - (2) 1, 1 1, ii i 2. i(2) , 2, , i 1.
, i i i int double, i:
int x, y;printf ( "i i " );scanf( "%d %d" , &x, &y );printf ( " : %lf \n",
(double ) x / ( double ) y );
, i i i, i i -, i i i .
i i, i i i %. m%n i i i m n.i, i 0 n-1. , 9%4
-
3.2. ii i i i 36
1, i 9 = 2 4 + 1, 9 % 3 0, i 9 = 3 3 + 0, 9%10 9, 9 = 10 0 + 9 . , i i i i %=.
i, i i , i i - i 'i. i i ii i , int 2 , 16 i (i i). ii- , i (0 , 1 i'), 15 ii i , i' .
, int i , i. , n i i N = 2n : i' i 0 N 1 i' i 1 N . , i int i 32768 32767.
' i, . , , i x int 32767, i , . i i x++. i i, i x 32768, i i .
32767 0 11 . . . 1 15
(0 i ).
i , i 0 i , i ii i 1 + 1 = 10. -i 1, i 0 i i . i 15 i, - . , i i i 1 00 . . . 0
15
, ii
32768: i i, 15 i 32768.
! i, -, i ii i, .
1. :
a += 8;
p *= k + r;
n--;
2. i i 14/3, 14%3, 15%5.
3. ii x y int i ii 137 100. ii- i x/y (double)x/(double)y.
4. ii , int double. -, i . , i 36,65 i ( ).
5. i % i, i m n?
6. i i i i i ?
3.2. ii i i i
i : i i , i i, 'i, 'i,.
-
3.2. ii i i i 37
. 3.1. i i i i
i == i =!= i 6=> i >< = i i > 5?. I, 22 = 4 22 > 5 , i - i. i i, i .
i i ii i . , 0 i , - ii i i i.
i i i, i i:
1 i_i 2
i i i 3.1.! i i 1, ii ii -
, 0 i .! = i , i i ii -
==. ii i i. i, , i - i.
, i a 10, a >= 0 1 (i), 2 * a < a + 5 0 ().
ii i ii i, ii ', i i i i , x x > 20. x i, x ii x > 20 i. , i , i, i .
i i ii i, i i 3.2. 'i 'i i-i i, i , i, . i ii, . 3.3.
i i i ' i : , i . , - 1 && 2 i . 1. i ( 0), 2 , '-i (0). 1 i i (- , ii i 0), 2, i i i, 'i 1, i 0.
-
3.3. i 38
. 3.3. i ii i i
E1 E2 E1 && E2 E1 || E2
0 0 0 00 0 0 1
0 0 0 1 0 0 1 1
E ! E
0 1 0 0
1 || 2 i . - 1. i i, 2 , 'i 1. 1 i , 2, i i i, 'i 1, i 0.
1. ii i 8 == 8, 0 == 0, 1 != 0, 10 = -18.
2. i x 5, i y 8. ii i x == y, x != x, x y).
4. i
(x == 0) || (y == 0), (x > 7) && (y > 7), (x > 7) || (y > 7), !( (x > 7) && (y > 7) ).
5. i i i?
6. ii x y i i . !(x-y) -, i i x==y, .
7. ii a b i i . (a>b)*a + (a
-
3.3. i 39
if( i_ )1;
else2;
if else i, i i, i (, ii i).
i . - . i i ( i 0), , (i , 0) .
, : i . i i- i a b, i i i m .i '
if( a > b )m = a;
elsem = b;
printf ( "i %d\n" , m );
, i printf i , i .
i i ( if, i else) ' . i , i -i, ' , ii {...}.
, i i ii m, -, i. i
if( a > b ) {m = a;printf ( " i\n" );
}else {m = b;printf ( " i\n" );
}printf ( "i %d\n" , m );
i i i, , i ( i ), -. i else:
if( i_ );
, i x, ( -) ii x. i ,
|x| ={x, x < 0;x i .
i '
if( x < 0 )x = -x;
i, i , i, .i i , i i
- , i . i.
-
3.3. i 40
, i i ii s 1, i x - , 1, i x i', 0, i x 0.
if( x == 0 )s = 0;else {if( x > 0 )s = 1;elses = -1;
}
i i , i . . i i i, a, b, c ii m. . , i , i i - , , a b, i i : , . ,
if( a > b )m = a;elsem = b;
/* i */
if( c > m )m = c;
printf ( "i %d\n", m );
i , , i , i. , , i i . i i , i- i i i. i i-i.
! i i ii . i .
1. , i i : -i ii , a, b, c. ab = c, i ,i .
2. i
f(x) ={
x2, x < 2;x2 + 3 i .
, i x f(x).
3. i
g(x) =
x2, 2 < x < 2;
x + 2, x > 2;2 x, x 6 2.
4. ' i , - i' i.
-
3.4. 41
3.4.
i : while, do, , i ,ii.
i i i (. 14) i i - .
while( );
. i . , i- , ii i i, ii . i :
1. .
i i, : 2. i , : -, i i .
2. (i ) 1.
, , i , i i . i i ii.
, , , ii i , -i , i i ii , . i .
#include int main( void ) {int x; /* ii */int n; /* ii */n = 0;printf ( "i , 0 \n" );scanf( "%d" , &x ); /* */while ( x != 0 ) {n ++; /* i */scanf( "%d" , &x ); /* */
}printf ( " %d \n", n );}
i n 0, i i, i i i 0 . ii . 0, i (. ) i i i , , 0 .
0, , i, 23, i . i n - 1 ( ), i . 0, , i n i 1. i i ( i n 2), i i.
i , i, ii . i:
do;while( );
1. (i ) 2.
2. .
-
3.5. i i i 42
i i, : 1. i , : -, i i .
' i: i ii ,i , .
1 #include 2 int main( void ) {3 int x; /* ii */4 int n; /* ii */5 n = 0;6 printf ( "i , 0 \n" );7 do {8 n++; /* i */9 scanf( "%d" , &x ); /* */
10 } while( x != 0 );11 n--;12 printf ( " %d \n", n);13 }
i , i, ii - i n ii i , i , ii. i i ii i , i i 1.
, i 0 i i, i 1 i i.
i, ii i -i , ii ii .
i i . i- i . i , . i ii ii .
, i x i x2 , 0.
, i , . i i' .
3.5. i i i
i : break, continue, i , , , i, ii.
i i , ( i i) i i i. , ,
int x, s;s = 0;while( s < 100 ) {printf ( "i " );scanf( "%d" , &x );
}
-
3.5. i i i 43
//
1TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
i
1
2TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
i
//
2
// 1
2TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
i
2
1TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
oo i //
. 3.1. ii
, i s 100. - i 0, i . ii i i s, i i 0, i.
! , i i -i i.
Ii , i i-. , ii : - , 1 ii i i , i i , i . ii i i. i i.
, i , i i, - i i, 0 == 0 10 > 8. , ii i 0 i , i, i 1:
while ( 1 ) {...
}
ii i, i- ii ( ), i ( ). , ii , i ii. I , i ii i . i i i . 3.1.
i break. break ii - i i i if ( i -i). i ii break, , i i i, .
while( 1 ) {1;
-
3.5. i i i 44
// 1
TTTTTTT
jjjjjjjjjjj
jjj TTTTTTT
i
2
. 3.2. i ii
if( 2 )break;
2;}
i i ii i. - i i i i i., i , i i ii, , i i ii (- . 3.2).
ii i i i , i i i( , , , ):
while ( 1 ) {1;if( )break;
2;}
i i continue. i i i, ii i, i i ( i i , i i i ), i - 3.3. i
while( 1 ) {1;if( 2 )continue;
2;}
i , 2, 2 , continue i i 1. -i.
i , break continue i -: - , i , ,i i i if. - i i, , i i i.
-
3.6. 45
//
1TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
i
1
2TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
oo
i
2oo
// 1
2TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT //
i
2
oo
1TTTTTTTjjjjjjj
jjjjjjj TTTT
TTT
// i
. 3.3. - ii
, i y = x2 i x, i . , i ii i . ii ( 1), - x, x2 i . ii i ( 0), .
, i i break, i
while(1 ) {1;if(2 ) break;2;
}
i while if.
, i i continue, i
while(1 ) {1;if(2 ) continue;2;
}
i while if.
3.6.
i : for, i ii . i i i x,
i a, i b, h, x ii i i . , i i
-
3.6. 46
. i i , i i for:
for( 1 ; 2 ; 3 )i
i , , , ii i, ii . :
1. () 1;
2. 2 i i i :
i i ( ), 3; i ( 0), , i - i ;
3. i;
4. () 3 2.
, 1 , 2 ii, 3 ii ii.
, i , i i i -., i i for , ii 1 i ii x ( ) , 2 i , i i x , 3 i x . i i i i 0 n-1, n i:
for( i = 0; i < n; i ++ ) {...
}
i, i ii (i ) i i , ( ) i ii. , i i n-1 i ii. i ii i < n i, i ii i.i i, i i i i n. i ii i < n , i .
ii i i , for i i-i i a b i 1, for i i i i ii iii .
double x;for( x = 1000; x > 0.1; x /= 2 ) {
printf ( "%lf\n", x );}
i i x ii. , i i 1000, 500, 250, 125, . . .
ii for, i ii i - , break continue.
! i, i i i, i - for while ( )! ii, i: i, i . , -, i i . i . . 172.
-
3.7. 47
, i i for, i .
, ii n, n i .
, i n i i S = 1 + 2 + . . . + n.
, i , m n, i m i n i (i *) .
3.7.
i : switch, case, i. if i i, ii i-
i, i . i n i i i . , e a1, P1, a2, P2, i i.
i if, i - i , i . i
switch ( ) {case _1 : _1;case _2 : _2;...case _n : _n;default : _0;
}
i i (, i iiii , i int). , i case, ii i i i i . ii i _i i ii. -i ( i, i i) i _i break. default: ( ) ' i i. i:
1. .
2. i i _i , i. i _k.
3. i , i i_k i i, :
i switch ( i ) break.
- i i, i -i .
4. i _i, i i default, _0.
I , switch i i i- ii, i- i i . i i i break i i.
i i break iii:
-
3.7. 48
switch ( ) {case _1 : _1 ; break;case _2 : _2 ; break;...case _n : _n ; break;default : _0;
}
i, i , :0. , ;1. ==_1, _1;2. ==_2, _2;
. . .i. ==_i, _i;
. . .n. ==_n, _n;
n + 1. ii , _0; ii i
. i ( ). i ii , () . . i i ii i i. - , , i default i .
. i i, flag. 1 (i i). , i flag - i i. ii i ii 0. i 3.7.
1 #include 2 int main( void ) {3 int flag; /* i , */4 int cmd; /* */5 /* */
6 printf ( "i\n"{} );7 flag = 1; /* */8 while( flag ) {9 /* i */
10 printf ( "0\ ti\n" );11 printf ( "1\ t \n" );12 printf ( "2\ ti \n" );13 printf ( "3\ t \n" );14 printf ( "I : " );15 scanf( "%d" , &cmd );16 /* ? */
17 switch ( cmd ) {18 case 0: /* */19 flag = 0;20 break;21 case 1: /* */22 /* i */
23 break;24 case 2: /* i */25 /* i */
26 break;27 case 3:/* */28 /* i */
-
3.8. i 49
29 break;30 /*
31 i 0, 1, 2 3 */
32 default :\\33 printf ( " " );34 } /* i switch */35 } /* i while */36 /* i */
37 printf ( " \n" );38 }
1. , i i switch, i - i if.
2. , i i i x i i : sinx, cos x,x2
x.
3.8. i
i i i i i i ( i, , i) - i i. i i i i i 1.
i , i i i, i i,i ii i . i i, i i- , i i . i i i, i .
i i i i ii i, i - i. i i, , i ii .
i i . i i i . i i i :i ii 0, ii - i .
ii i i ( ii i, i i). i i i i i, , i.
, if, i , i, , i.
- (i ) , - i . i ii, i ii.
i i i i break, - , continue, ii.
i ii i. i - i , i i - .
-
i 4
i i
i
4.1.
: , i x y i, ( ) i 1 . i i i ii.
i , i i . i ', - i ii i ( -). , i , i i i-. i i , ii i . i i i,
x2 + y2 6 1.
, i . i, i i i i i,
x2 + y2 6 1.
i i i. i ii. , , i i ii . , ii ii x y. i i i. , ii i double, i i i .
i i i i ii, i scanf printf, i i- stdio.h.
i :
1 #include 2 int main( void ) {3 double x, y;4 printf ( "i i " );5 scanf( "%lf %lf" , &x, &y );6 if( x*x + y*y
-
4.2. 51
-
6
a b
c
d
y
x
0
. 4.1.
4.2.
: , i, i ( ), . 4.1.
, i i i i i i, i : x > a, x 6 b, y > c y 6 d. , i i i ii i. ,i i i, i 'i. :
1 #include 2 int main( void ) {3 double x, y;4 printf ( "i i " );5 scanf( "%lf %lf" , &x, &y );6 if((x>=a) && (x=c) && (y 2;2 x, x 6 2.
i i i . i i ii. i
-
4.4. i i i 52
i i i, . , i, i x 6 2. , ii ( i ii i ). i -i, ii x > 2. , , ii i. i, , i i ', ii- x 6 2 i, 2 < x < 2, . .
1 #include 2
3 int main( void ) {4 double x, f;5 printf ( "i " );6 scanf( "%lf" , &x );7 if( x = 2 )11 f = x + 2;12 else13 f = x * x;14 printf ( " i i %lf\n", f );15 return 0;16 }
i i , i 1, i 2. i (x, y) A. -, ii, A i i , , i , , i i .
4.4. i i i
: , i , i .
i a, b, c, d. i ii m. i i i 'i. i , i, . , a i i i i, a > b, a > c, a > c, b i, ii b > a, b > c, b > d, i .. , , i, 'i i.
1 #include 2
3 int main( void ) {4 double a, b, c, d, m;5 printf ( "i " );6 scanf( "%lf%lf%lf%lf" , &a, &b, &c, &d );7 if((a>=b) && (a>=c) && (a>=d))8 m = a;9 if((b>=a) && (b>=c) && (b>=d))
10 m = b;11 if((c>=a) && (c>=b) && (c>=d))12 m = c;
-
4.5. 53
13 if((d>=a) && (d>=b) && (d>=c))14 m = d;15 printf ( ". %lf\n" , m );16 return 0;17 }
i '. i i a b, i i i p, i c d, i i q. i i i p q i , , i m, i . ii .
1 #include 2
3 int main( void ) {4 double a, b, c, d, m, p, q;5 printf ( "i " );6 scanf( "%lf%lf%lf%lf" , &a, &b, &c, &d );7 if(a>=b)8 p = a;9 else
10 p = b;11 if(c>=d)12 q = c;13 else14 q = d;15 if(p>=q)16 m = p;17 else18 m = q;19 printf ( ". %lf\n" , m );20 return 0;21 }
x , |x| < 10, , |x| > 100. , i i x iii : , , , , i', .
4.5.
: i. i f(x), f(x) = x2 + x + 1. - i a, b, h, a < b, h < b a. i f(x) i x, x = a, h, x b. , a = 3, b = 5, h = 0.2 :
f(3.000000) = 13.000000f(3.200000) = 14.440000f(3.400000) = 15.960000f(3.600000) = 17.560000f(3.800000) = 19.240000f(4.000000) = 21.000000f(4.200000) = 22.840000f(4.400000) = 24.760000f(4.600000) = 26.760000f(4.800000) = 28.840000
-
4.6. ii 54
i for., i i . i ii- , ii i ?, i i ii - . , , i x, a, , i ii x 6 b, i ii x i h.
i i i- f, i , i, i i x, i ii, i, i i - i, i, i, i . , ii, i i i, i i ii i. i :
1 #include 2
3 int main( void ) {4 double a, b, h, x, f;5 printf ( "i i " );6 scanf( "%lf%lf%lf" , &a, %b, &h );7 for( x = a; x
-
4.7. 55
. 4.1.
1 2 3 4 5 6 7 8 92 4 6 8 10 12 14 16 183 6 9 12 15 18 21 24 274 8 12 16 20 24 28 32 365 10 15 20 25 30 35 40 456 12 18 24 30 36 42 48 547 14 21 28 35 42 49 56 638 16 24 32 40 48 56 64 729 18 27 36 45 54 63 72 81
11 return 0;12 }
, ii m n, i i k i i m n i i , k2 + 2k + 7 i 3.
4.7.
: i 1 9. , 9 i 9 . i i- k- i k. I , . 4.1:
i i ii , - i (i) i i i ii (. divide etimpera i ).
i , i i, i i i , i i i i k i 1 9. , i k for, i:
for( k = 1; k
-
4.8. i i 56
5 for( i = 1; i
-
4.9. ii 57
/* 2 */
for( j = 1; j
-
4.10. 58
x, : i x i m, x < m, i x i . - , i i i i, m i .
i, L ii , Lx ii, L x, i ii, ii
(Lx) = max{(L), x}.
, ii. x, i i i ( i ) i : i x. , i ii:
1. m = ii.
2. ii i? , , - m ii, . i, - .
3. ii x.
4. x > m? , i m, m = x, i i.
5. 2.
i .
1 #include 2
3 int main( void ) {4 int x, m;5 scanf( "%d" , &x );6 m = x;7 while( x != 0 ) {8 scanf( "%d" , &x );9 if( x > m )
10 m = x;11 }12 printf ( " %d\n" , m );13 return 0;14 }
, , i h x, i f(x) = x+8x2+x+1 i i [a, b]. a, b, h .
4.10.
: , i i
-
4.10. 59
s =
k=1
(1)k+1
k=
11 1
2+
13 . . . .
i , - s.
i i ii i, . i i i k, i i 1, 2, 3, . . ., , i i i.
i i ii , , i , . i ii i s i i, i -i i i ii, i (1)kx. i i ii i s i i i, i -i, i i ii. , ii ii s i , i s + (1)kx.
, , . i -i , (1)k+1. ii , i i , i, i i. i - i, i, , .
i , i (1)k+1, i-i ii i i ?. i i , i : i, - i'. , i i q . i ii i 1( , , i). i ii i - 1 ( (1) q. i, i +1,1,+1,1,+1, . . ..
i ', . i i ii i (i ' for), i, i i. i i i i, , i -. , x i ii, , x > .
i :
1 #include 2
3 int main( void ) {4 double eps , s=0, x, q=1;5 int k = 1;6 printf ( "i " );7 scanf( "%lf" , &eps );8 do {9 x = 1.0 / k;
10 s += q * x;11 q *= -1;12 k++;13 } while( x > eps );14 printf ( " %lf\n", s );15 return 0;16 }
-
4.11. ii 60
1. , ii n.
2. , i n i
n! = 1 2 . . . n,
0! = 1. i. i i , i i i , i i , i n n! i i .
3. , i i x i n i 1
s =n
k=0
xk
k!
4.11. ii
ii ii Fk, ,
1. F1 = F2 = 1,
2. Fk+2 = Fk + Fk+1 - k > 1.
, ii F3 = F1 + F2 = 1 + 1 = 2, F4 = F2 + F3 = 3, i .. , i ii: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, . . .
, i ii i i. i i ii , i i i, i i ii - i i.
: , i n n- i-i. , i i .
1 #include 2
3 int main( void ) {4 int n, k;5 double a=1, b=1, c=1;6 printf ( "i " );7 scanf( "%d" , & n );8 for( k = 1; k 2. , n- ii, i (n 1)- (n 2)- , i Fk k = 1, . . . , n 1. ii , , i i . i , i i.
i, ii ii, i i, n- . ii ii i
1 n i ex.
-
4.11. ii 61
i a b. i, ii i i i a = 1, b = 1. i i ii i c. i ii i , i i a , i ii b, i b i i- c. i i ii c i ii, , Fn ( n > 2) i n 2 ii.
, , n > 2 i ii n i Fn, . i , n i- 1 2. i i i. i k i ii, i 1. k > n 2. , ii i 1 2, i . i i Fn ii c, i ii 1,i 1 = F1 = F2.
ii i, , i ii , i i i i i i , - i.
, i n n i ii, ii:
1. d1 = 1, d2 = 3, d3 = 1.2. dk+3 = dk dk+1dk+2 k > 1.
ii x1 , 1, 61803 6 x1 6 1, 61803. i xk+1 = 1 x2k. 20 i i ii.
-
i 5
i
! i, ii, i i . i i.
5.1. i
i : i, i, i i, i, i, return.
i - , i i, i - i i i i i i i i .
, i i i, a1, b1, c1, a2, b2, c2, i a3, b3, c3. i 1:
p1 = (a1 + b1 + c1 ) / 2;s1 = sqrt(p1 * (p1-a1) * (p1 -b1) * (p1-c1));p2 = (a2 + b2 + c2 ) / 2;s2 = sqrt(p2 * (p2-a2) * (p2 -b2) * (p2-c2));p3 = (a3 + b3 + c3 ) / 2;s3 = sqrt(p3 * (p3-a3) * (p3 -b3) * (p3-c3));
i, . -i, i , i . , i, i . , i i ( i , , i ) i i 10 i . ii 10 i. i i , - i i. i , , i , i- i, i , i , i .
, i ii i .i i, i i , i ii . i i. i i, i.
i i i , i', ii i i, i ii i, i , i . i i , ii ( i i) . i i i i, i main, ( ).
, i, i i', , ii i. i i. i i i, i
1 i i a, b, c S =
pp(p a)(p b)(p c), p = a+b+c
2.
-
5.1. i 63
ii ( ). i, i i.
i i, , , , -, i i. i, i ii i i.
i i i i Geron, -, i i ,i i ii i , i . :
1 #include 2
3 /* i - */
4 double Geron( double a, double b, double c );5
6 /* ii i */
7 double Geron( double a, double b, double c ) {8 double p; /* i */9 p = (a + b + c) / 2;
10 /* i */
11 return sqrt(p * (p - a) * (p - b) * (p - c));12 }13
14 /* i i Geron */
15 int main( void ) {16 double u, v, w;17 double s;18 printf ( "i " );19 scanf( "%lf %lf %lf" , &u, &v, &w );20 /* i Geron.
21 i a, b, c
22 i u, v, w.
23 ii s */
24 s = Geron ( u, v, w );25 printf ( " %lf\n", s );26 /* i Geron.
27 i a, b, c
28 */
29 s = Geron ( 10.3 , 8.1 , 9.7 );30 printf ( " 2- %lf\n", s );31 /* i Geron.
32 i
33 i */
34 s = Geron ( u + 10.3 , v + w, w * 1.7 );35 printf ( " 3- %lf\n", s );36 return 0;37 }
i i i ( iii i ii i ). i i . iii , , i i . iii i ii i ii i i i i i . return i , i ii . i Geron i i i, , , i, , i i i. , i return, i.
-
5.2. i i ii 64
1. ii i ?
2. i, i ii ?
3. i?
4. i , i ii ii, i - ?
5. i i, i?
6. i - i, i , i , , i , i.
7. return?
8. , i i, i i : i i. i , i i .
9. i i, n i , - i n i . i main, i .
5.2. i i ii
i : i, i void, i i i .
i, i i' i, i (') i i, ii :
_ i '_(__1 ,..., __n );
i i, i i i , i #include i ii i. i i, i (i .h) i #include . i 12.
i i i , i , , i . i i . , i, , , i . , i i ii , .
i i (i, ii i , i). , i, , . i , i ii i.
i i i i void. ii 1.2 , ('i ) i ii, i (. 11). void i , , i. I , . i, void i ,i i ii - .
, i , , void. , , i i, i, i void1:
1 ii 7 void
-
5.2. i i ii 65
void ff( int , int ); /* */int gg( void ); /* i */void hh( void ); /* , . */
i , ii, , i -, , , return ;, i ( void), return;.
return ;, i i i. i , i .
, i , ii , i :
1 int maxof2 ( int x, int y ) {2 int m;3 if( x > y )4 m = x;5 else6 m = y;7 return m;8 }
return - ii i. ii i -i ii i i, i, i i i i A1, e1, - A2, e2, i i i i. , i i, :
int maxof2 ( int x, int y ) {if( x > y )return x;return y;}
i , i i i else: i , i return i, i i return y, i , x > y .
i, return -i i i . i i-:
1 double factorial ( int n ) {2 int i, p;3 if( n < 0 )4 return -1;5 p = 1;6 for( i = 1; i
-
5.3. i i ii 66
i 1. i i , , -i. i i i i, i , . i, i , i i 1, i i, - . i i i i i.
1. void, i , ii i i i i?
2. i, i ii void. ii - ( i i iii i , i ii i, i ii i).
3. i, , , . , i, i .
4. . 48 , i i i: , , ,i (i- i- " i ". i , i i i i, i ).
5.3. i i ii
i : i ii, i ii, i i, i.
ii, i ii i, . i i i -i i i i , i i, , ii i ii, i i. i i i, ii. Ii i i , i , i . , i - i i, i .
, i :
void ff( void ) {int x; /* i ff */...}
void gg( void ) {x = 0; /* i gg i x ! */}
i , i , i, i . , i, i ii , i i '. i ii i 'i, i i, i . i i i i x i 'i , i ff.
ii, i i i, i i i, i, i . , i
void ff( void ) {int x;
-
5.3. i i ii 67
...}
void gg( void ) {int x;...}
i x i ff i x i gg i i ii ii, i i i.
! i ii i i i - . i: i i I i ii . i i' i , i i , i i i -. - ii i I ii .
i i. ii, i i. i, i - i i', , i i i i. i i i i i .
ii i i i i, ii ( i i i). i ii , ii i , , i i i i i1, i i.
I , i i i, i i . , i
1 int x; /* i */2 void f( void );3 void g( void );4
5 void main( void ) {6 x = 0;7 g();8 f();9 g();
10 }11
12 void f( void ) {13 x = 8;14 }15
16 void g( void ) {17 printf ( "%d\n", x );18 }
i (main, f, g) i i x. i main ii x 0, i i g, i, 0. ii main i f, i ii 8. i, ig i x, i 8.
! i , -, (i) i i. , i i, i ii, i g().
1. i 12, ,
-
5.4. i 68
! i i i . i - , i i, , , , i main. i, i i i i.
! , i i iii-ii, i i ii, - .
, i i i i ' i i, i i i. i, i i i i i i i, ii i i i . i, i ii i i i .
1. i? ?
2. i? ?
3. i i?
4. i i?
5. i?
6. i?
7. i i ii i i?
8. i ii?
9. i f i int x, i i g i int x. i i i? i i i?
5.4. i
i : i, i, i-.
i, i i. i f, x_1, . . . , x_k i i ii a_1, . . . , a_l. i g y_1, . . . , y_m, i ii b_1, . . . , b_n. , , i i, i ii.
ii i f, i g e_1, . . . , e_m ii i. , i i.
i, ii i g return e, e .
int f( int x_1 , ... , int x_k );int g( int y_1 , ... , int y_m );
int f( int x_1 , ... , int x_k ) {int a_1 , ... , a_l;......g(e_1 , ... , e_m )......}
int g( int y_1 , ... , int y_m ) {int b_1 , ... , b_n;...
-
5.4. i 69
main
1
f
3
g
5
f(...);
10
2
??
g(...);
8
4
??
...
6
i return...
9>>>
^^>>>
return...
7>>>
^^>>>
. 5.1. i
return e;}
i i f, i i i g(e_1,...,e_m). iii i :
1. i e_i ';
2. i ii a_j x_j i f . - i 'i , , , i;
3. i ii b_j y_j i g i';
4. i, i i 1, i ii y_j;
5. i, i i g;
6. return e, e -';
7. i ii b_j y_j ', , i-;
8. i ii a_j x_j i f, i i 2,i, ;
9. i i f, i, i ig. g(e_1,...,e_m) , i 6;
10. i i f.
. 5.1 ii i, i main i f, , , i g.
1 int maxof2 ( int x, int y );2 int main( void ) {3 int a, b;4 a = 7;5 b = 12;6 c = maxof2 ( a, b );7 printf ( "%d\n", c );8 return 0;9 }
10 int maxof2 ( int x, int y ) {11 int m;12 if( x > y )13 m = x;
-
5.5. i i 70
14 else15 m = y;16 return m;17 }
1. i , i .
2. i i ?
3. i i , i i maxof2 - a, m?
5.5. i i
i i. - i i , m n, i
(m + 1 + n + 1)!(m + 1) (n + 1)
.
i i i main, -
(x + y)!x y
( x = m + 1, y = n + 1) i fract, , , ifactorial i.
1 double fract( int , int );2 double factorial ( int );3
4 int main( void ) {5 int m, n, s;6 scanf( "%d %d" , &m, &n );7 printf ( "%lf\n", fract(m+1, n+1) );8 return 0;9 }
10
11 double fract( int x, int y ) {12 double t;13 t = factorial(x + y) / (x * y);14 return t;15 }16
17 double factorial ( int n ) {18 int i;19 double p;20 p = 1;21 for(i = 1; i
-
5.5. i i 71
i i m+1 n+1, i ii i, ii, 2 4. i ii m n i main , i ii x, y, t. i 2 4 i x, y, i t ( i - , 'i ii, i t). , 'i:
ii i fract x : 2 y : 4 t : i i main m : 1 n : 3
i i fract i factorial. i , , ' x+y, i 6. ii x, y, t i fract , iin, i, p i factorial. i n 6, i i i. 'i :
ii i factorial n : 6 i : p : i i fract x : 2 y : 4 t : i i main m : 1 n : 3
! , 1) i i iii i i i 2) i i i i, i ii i . i i (i, ) n i main i n i factorial i i ii ii!
i i factorial i i 'i ( i). i, i i , i i i, .
ii i factorial n : 6 i : 7 p : 720i i fract x : 2 y : 4 t : i i main m : 1 n : 3
i return p. p - i, 720. i ii i factorial -, ii i fract i. , i i fract.
i factorial i fract i
factorial(x + y) / (x * y)
i factorial(x + y) 720, 72024 = 90, ii t. i 'i
ii i fract x : 2 y : 4 t : 90i i main m : 1 n : 3
i return t, i fract 90, (i i i fract, i i i main) i printf .
, n
n < 1, ,
i n- .
-
5.6. i 72
n- i i i. i i ii i i, , i i i, i i. i , x , i i ii, i i i.
5.6. i
i : i, i, i . , i i i , i
. i ii i ii, i g i i f , i i f i i i i g.
i, . , i- i i i i i , i i i. i i. i , i f , , i f_1 i f_2, i f_3 i i,i i f_n i f_1.
i i i ii ii , i i . -, A , - A.
i i. i :
n! ={
1 n = 0,(n 1)! n n > 0
: i , - , i i, , . , i n i ii: i n 1.
i : i i ( i) i. i i i -i i i, ( i i ). , - i .
. , -, 4!. i 4 i n, i, , 4 6= 0. :
4! = (4 1)! 4 = 3! 4 =? .
3! i? i, i i ( i) i i 3! n = 3 i i :
3! = (3 1)! 3 = 2! 3 =?? .
i i 3 - i i i i , 2. i i, i 3! ( i) - i n = 2. .
2! = (2 1)! 2 = 1! 2 =??? .
, 2! i 1!. i 2!
-
5.6. i 73
1! = (1 1)! 1 = 0! 1 =???? .
i i i 0!, , ii ii i, :
0! = 1,
, i ,
1! =????= 1 1 = 1.
, i , i, 2!, , i i, i:
2! =???= 1 2 = 2.
, 3!. i:
3! =??= 2 3 = 6.
3! , 4!, - :
4! =?= 6 4 = 24.
i , . i , -
i:
double factorial ( int n ) {if( n == 0 )return 1;return factorial(n -1) * n;}
. 65 i ii i, . ii 8 i i i p. ii 3 i i -i i.
! , i i i i, i i i . i - , i i, , i i, i i .
, - , i, i , -i. i i : - , i, i .
i i i i i i 'i . i i i . i i i i, i i ii.
i , i i i , -, i i i. ii i i i ( i i ).
ii .
-
5.7. i 74
i ? i ii, i, i ii, i, i ii, i, iii. . .
, i, i, i, i.
1. i, ?
2. i, : i n i x xn.
3. i, n- ii.
5.7. i
i , i i. i i', i i i, i i, i .
ii, i i i, i ii, i -i, ii ii. i i .
i , i i i, - i i. i i i, i ii, . i, i. , i - .
i i, i - . i i i, ' i i n ' , , i nk n1. , (, 0) ' , ' i .
i i i 'i i i i i i ii . i , ii , i:
i i , ' -i i i, .
' i i i ii i i i i i i , i -i ii .
i , i i i , i i i , i ' i . , i, - , i . ii, i i - i i.
-
i 6
. i
6.1. i
i : , define, i. i i i . ,
i 10 i i -:
1 int main( void ) {2 int i, x, s=0;3 double d;
4 for( i = 0; i < 10 ; i++ ) {5 printf ( "i %d- " , i );6 scanf( "%d" , &x );7 s += x;8 }9 /* s i 10 */
10 d = ( double ) s / 10 ;11 /* d i */
12 printf ( " %d\n" );13 return 0;14 }
10 ii: ii ii , - ii ii.
i, i i: 15 . i i 10 15. I ,i i , i i i i. , i .
, i. -i i i, , ( i), ( ii). , i i i .
i , i . i . , 1, i, i . i i, i: 10 10 , 10 i, 10 'i.
i , i i i - i i, . , i i 10 i i :
...for( i = 0; i < 10; i++ )
printf ( "\n" );...
1 , i , , , . ii ', i i i .
-
6.1. i 76
i , i i iii , . , ii i ( - 15 ) i i 15, i. ii, i i i, i, i. .
i i i .i :
1 /* */
2 #define N_VALUES 10 /* */3 #define N_BLANK_LINES 10 /* i i */4
5 int main( void ) {6 int i, x, s=0;7 double d;8 for( i = 0; i < N_BLANK_LINES ; i++ )9 printf ( "\n" );
10 for( i = 0; i < N_VALUES ; i++ ) {11 printf ( "i %d- " , i );12 scanf( "%d" , &x );13 s += x;14 }15 /* ii s i
16 10 */
17 d = ( double ) s / N_VALUES;18 /* ii d i
19 */
20 printf ( " %d\n" );21 return 0;22 }
#define iN_VALUES 10. i i i i , ii N_VALUES, i 10. i N_BLANK_LINES.
i i. -, ii i( 15 ) i ii - N_VALUES, i , i. i i i , i,i i i .
-, i i' i: - i N_VALUES, i i1, i i.
, 2
#define ii
- ii - . i - i i ii
! ' i -ii i. ii , i i(, 0 ). .
1 i i. i i i-i,i i i , i i, -i i.
2I i i , .
-
6.2. 77
, . i ii 12.3.
1. , ii , (3,1415926) ii i (180) i.
2. , i i i . g( i i) .
3. , i i, i .
6.2.
i : , i, i, i i, i -, iiiii i .
i , , , , i -. i, , -i i . i i i x1, x2, . . . , xn. i x i , i, xi , i- i i.
, , i i i i. -i i i p1, p2, . . . , p24. - i : , i , i ( i, i ).
i i i , i , i i, i ii i i M = [mi j ],- i ii.
i i i i . i ii ii - i . ii , i (iii) i. :
i '_ i'_ [ _i ];
ii i i i -i, . , i, i , , i ,i, i. , i 12 i 17 i
int trail [ 10 ];double value [ 17 ];
! i i i 0. i N i, , i 0, 1, . . . , N 1. N i .
i i, - : i i'_[_] i , i i . i i-. , - i . i i ii i i i, i i ii i , ,
-
6.2. 78
i', ii i . , - :
1 int m[ 10 ] , k = 3;2 m[0] = 1;3 m[k] = 8;4 k++;5 m[k] = 8;6 m[(k+2)%3+1] = 17;7 m[k+3] = m[0]+m[k];8 scanf( "%d" , &m[k+1] );9 printf ( "%d\n", m[k] );
m 10 i i i k, 3. 2 , , i i: i i , 0. ii i 0, , .
3 i, i , i. i i k 3, , 8 i ( i!) . 4 i i k 1, , i 4. , 5 i i 3, ii i , ' i .
6 , i i i, i . i i k, , 17 i i 1, .
7 , i i- i ii, i i . ( i 0) i 1, i k i 4, i- 4 8. , i 7 ( i ) 9.
i i , i i, i scanf, 8. i , ii, i , & .
, i i i i, i .
i , , , iiii . ii ii i i :
int m[4] = { -1 , 3 , 0 , 27 };
i, i i -i , i . -, i, i (, i i i i) . i.
1. ? ? , i i .
2. i i. ?
3. i i?
4. i ?
-
6.3. i 79
6.3. i
i : , i . i i .
i i i, i i , i i. i i , i ii i i , . - . . i i ii , i , - . i, i . .
1. .
2. i?
, i; i, .
3. .
4. .
5. 2.
i' m i N i. i i -, i, i i i k (i) . i m[k]. - i i i k=0, k++. i( ) k
-
6.4. i 80
ii i, 10, ii i(i, i 10 12 ), i i i, i.
! ii i ' -i i . i , i i , .
6.4. i
i i i: i Pn i x. i () n- i
Pn(x) = anxn + an1xn1 + . . . + a1x + a0 =n
i=0
aixi.
, , i, i a0, a1, . . . , an (-iii). i n- i i , i n+1 i i , iii ii.
, i , ' ( n = 5), .
1 #include 2 #define N 5 /* i i */3 int main( void ) {4 double s, t, a[ N+1 ];5 int i;6 _ii;7 __x;8 s = 0; /* */9 for( i = 0; i < N+1; i++ ) {
10 t = ( xi);11 s += t * a[i];12 }13 __s;14 return 0;15 }
i (. ii i). , i i , . i, ii , i i n. ii i - xn, x n i. i ' i ii , x2, x3, xn1. i i i-i i ii , i , i i .
i ii i i i , i i n
2n2 n ,
ii i i n., xi i ii , i -
i ii x. i i i ( , i):
. . .s = 0; /* */t = 1; /* i x */
-
6.4. i 81
for( i = 0; i < N+1; i++ ) {s += t * a[i];t *= x;
}
i ii , ii i i n (ii).
i: , ii ii. i . i Pn i, ii, i x, a0 (, i x). x .
Pn(x) =(anx
n + an1xn1 + . . . + a1x)
+ a0 = (anx
n1 + an1xn2 + . . . + a1)x + a0.
, i, i n 1. : i i , i x, i i.
Pn(x) = (. . . ((anx + an1) x + an2) x + an3 . . .) x + a0.
, i i,P0(x) = an,
Pi+1(x) = Pi(x) x + ani. : i ii an;
i , , x ( ) ii. i n i i, i .
i, i , :
1 #include 2 #define N 5 /* i i */3 int main( void ) {4 double s, a[ N+1 ];5 int i;6 /* ii */
7 printf ( "i %d iii", N+1 );8 for( i = 0; i < N+1; i++ )9 scanf( "%lf" , &a[i] );
10 scanf( "%lf" , &x );11 s = 0; /* */12 for( i = N; i >= 0; i- - ) {13 s *= x;14 s += a[i];15 }16 printf ( "P(%lf ) = %lf\n" , x, s );17 return 0;18 }
i , i i ,i i .
ii i i. i: ii xi i.
-
6.5. ii 82
6.5. ii
i : i, i i i. i , i i i i '
, i i i i. m N i x, . i i, i : mi = x, , i , .
i ii ( i i ) - , i m, i, i i . i, i, ii i -. :
1. .
2. i?
, i : i i ; i, .
3. i ?
, i, i ; i, .
4. .
5. 2.
, ii ( - i ) . break (.i 3.5). , i , i , i i k ( ) ' i i 0 N 1 ( ). i , i i k N ( ). i ( , ).
1 #include 2 #define N 203 int main( void ) {4 int m[N], x, k;5 /* */
6 printf ( " ? " );7 scanf( "%d" , &x );8 for( k = 0; k < N; k++ )9 if( m[k] == x )
10 break;11 if( k < N )12 printf ( " i %d\n", k );13 else14 printf ( " i \n" );15 return 0;16 }
i i ( i i x), i i i i, i i (. ). ii , , i ii (. ).
-
6.6. : 83
1. ii , i , .
2. ii , i i i i i.
3. ii , i , i 3 i i 25.
6.6. :
i : , . , ' , i :
, , ( ).
i i i, i . i . i . i ii : . , i, i -, : i . i . i -i i i, , i .
, . 6.1. i i . i , - i . i i , i ( i). i i. , ii i. i i i 3 i. i - , . i 4 i . , . i 5 28 i 7, ( ). i i i .
6 i , i , . i 7 i , i i i - . , i 8, , i i , , , i , i i. 8, 9 10 , i , . i 10 i i , i , .
i . i . , i i, i -, i i i- . , i i , , - .
i i . - , i i, .
-
6.6. : 84
1 4 28 14 7
2 4 28 14 7
3 4 14 28 7
4 4 14 28 7
5 4 14 28 7
6 4 14 7 28
7 4 14 7 28
8 4 7 14 28
9 4 7 14 28
10 4 7 14 28
. 6.1.
1 #define N 102 int main( void ) {3 int i;4 double m[ N ], t;5 /* */
6 i = 0;7 while( i < N -1 ) {8 if( m[i+1] >= m[i] )9 i++;
10 else {11 t = m[i];12 m[i] = m[i+1];13 m[i+1] = t;14 i = 0;15 }16 }17 /* */
18 return 0;19 }
1. i (. ) ii : 13, 19,5, 16, 11.
2. i, , ii .
3. i if( m[i+1] >= m[i] ). i -i i, ? i i -, i ?
4. i i,i i i i . : i i-i i i iii; , . , i , , .
-
6.7. i i 85
6.7. i i
i i i i ', , i . i i, -ii i i i. i, i i i i i , i i . i .
i, m, N i i ; , mi 6 mj i < j. i i x. i i: k , i , i i k1- , ii k + 1- i .
, mk = x , i . mk 6= x, i : x < mk x > mk. i , x i : i, i x k-, , x - , i k-. i , x > mk i i , i i x.
. , i, , i i, i i i, i i , . , i i : , , i . , i , i x.
, , ii 31 : 12, 30, 63, 65, 68, 69,116, 122, 127, 128, 130, 137, 173, 178, 183, 193, 224, 227, 231, 236, 236, 241, 250, 260, 264, 268,284, 287, 287, 291, 294, i i , ii i x = 241. i ( , i i ) . i k = 15, mk = 193. i x > mk, i i 0- 15- , i 16- 30-.
i i i k = 23, mk = 260. i x < mk, i , 23- 30- i, - 7 i, 16- 22-. i k = 19,mk = 236. i x > mk, i 20- 22-. i i m21 = 241 = x, , ii i k = 21.
, i i i, ii l r, i : i l- r 1-. , , i ii- l < r. i , i i i, i i i ii l rii .
i : i , . i i -i, i i k , i . i ( ).
1 #include 2 #define N 203 int main( void ) {4 int m[ N ], l, r, k, x;5 /* */
6 printf ( " ? " );
-
6.8. i , 86
7 scanf( "%d" , &x );8 l = 0;9 r = N;
10 while( l < r ) {11 k = (l+r) / 2;12 if( m[k] == x ) break;13 if( m[k] < x ) l = k + 1;14 else r = k;15 }16 if( m[k] == x )17 printf ( " i %d", k );18 else19 printf ( " \n" );20 return 0;21 }
i ii i i. -i ii , i i , , i . ii i -i : , , i ii, i i . i i ii ii i. i, n, i log2 n.
, i ii -, i . ii.i, i i i : , . , i i , - i i , .
6.8. i ,
i i i . - i N i i i 1 N 1. ' i ii i, , .
i i 0 N 1. i i ii ii i , i, i; , i, i i i i i, . i ii i , i i-. (i, i ii, i i i ), i, i i , i .
i i N = 16. 0 1, i, , . 2, 2 i-, i , i 2, . i ii (ii) 3. i i i , -i 3. i ii ii , 5,i .
-
6.8. i , 87
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
, ii i ii i ( i i, i, i).
i i, i ii , i. i : p N i. pi i i: pi i 0, ( i ); 1 i 2 .
, 0 1, i ii ii i, ( i 0 1) 2, i i i. i i 2, i ii i , i :
2 2 1 0 2 0 2 0 2 0 2 0 2 0 2 0
i : i i i ii, - (i 2, 3, . . . , N i ii i i i ), ii i. , ii, i :
2 2 1 0 2 0 2 0 2 0 2 0 2 0 2 02 2 1 1 2 0 2 0 2 2 2 0 2 0 2 22 2 1 1 2 1 2 0 2 2 2 0 2 0 2 22 2 1 1 2 1 2 1 2 2 2 0 2 0 2 2
i - .
1. m , i 2.
2. i m (ii) i 0. (i: i ii i, ), , i .
3. i i. 1.
4. i i i, i, i- k i < N k = 2, 3, . . . 2. 2.
i i i i -, i 1. i i , i i .
, i , . , i , i i, i i . i ii, i i - i i . i, , : p[i] = PRIME p[i] = 1. , - i , 1. i , , 1 40, , .
-
6.8. i , 88
1 #include 2
3 #define N 10004 #define CLEAR 0 /* . " " */5 #define PRIME 1 /* . " " */6 #define ERASE 2 /* . " " */7
8 int main( void ) {9 int p[N], i, j;
10 for( i = 2; i < N; i++ )11 p[i] = CLEAR;12 p[0] = ERASE;13 p[1] = ERASE;14 i = 0;15 while ( 1 ) { /* */16 while ( (i < N) && (p[i] != CLEAR ) )17 i++; /* */18 if( i == N )19 break; /* - i */20 p[i] = PRIME ; /* i */21 /* i i */
22 j = i*2;23 while( j < N ) {24 p[j] = ERASE;25 j += i;26 }27 }28 /* i:
29 i */
30 for( i = 0; i < N; i++ )31 if( p[i] == PRIME ) /* i */32 printf ( "%d\t", i );33 printf ( "\n" );34 return 0;35 }
i i . i i-i i i , i ii i (i).
i , i 1. , ii - , i ii i i: 0 , - i . i 1 ii i , i. ii break.
i i ii , . i , i , ( ) , i ii . i ii , i .
i i i , i i i, i- 1 ( PRIME). i i - i ii, i i. i j . ii j 2*i, i ii i i, , i i ii - 2i, 3i, 4i, . . .
i, i i , .i i ii 0, . . . , N1 i, ii .
-
6.9. i 89
6.9. i
i , -i ii i i i i i i ii. i , i i -i , i i i.
i, i i , - , ' i i. i i, i -i i i. i .
i, i , , i , i i : i i' i, , , ia = b+c. i i: i , i i , i ., i m[k] = b+c. , i i , m[0], , i, m[7], i , i ii k.
(i 'i) -i i, - . i i . - i ( i i) [8], i i i .i [4]. i ii . -, - , - i ii i i.
i i, i i , i i i, i i . i, i i, i i i, i i -, i i i . -.
-
i 7
i '
7.1. i
i : , , i i, i .ii, i i, i i i , ii ii.
ii i i i .- i - i 'i. i i
'i ', i . , i, i int i i , 1, 2, 3, . . . , i i i i int x, i int y, i int z i ..
i i , i ii. , i, i, p int, i p i int i double i.i, i i ( i T), iii T.
i , i i i i:
i '_ *i'_i_;
i i ii ii . -:
int *p;double *q1 , *q2;int x, *r, s=0, *t;
i p i. i ii ii : i q1 i q2 - i double. i x i, i i r i, i i s i ( ) i, i, i t i.
i & i. a i' i, i &a i a. , i
int *p, x=10;p = &x;
i p i x: i i i x, i p. , , i- p i x. i, , i. i i p i x.
i i ( i ) i &: , , i, i. i i i i-. p i' i-, *p i, i p. *p, i ( , ' i i, ), , i i i-i.
-
7.2. i i 91
, i i- p i x, i += i 2 i, 20. p i x, i m 4.i i- p i m. i += i i m ( 6). i, i i, p, 3 . , 18.
1 int x=18, *p, m;2 p = &x;3 (*p) += 2;4 m = (*p) / 5;5 p = &m;6 (*p) += 2;7 printf ( "%d\n" , 3 * (*p) );
, i ' i i- i i-i. , i - (*p) += 2 i x, i y. i i.
, T i, T , i i i T, i i ( i ii i, ).
i ii i , i. i - i, i i i , ' i i i.
1. ?
2. i, i i ii?
3. i i ?
4. i ? i i ?
5. i i i? .
7.2. i i
i : , i NULL, , void.
i i i i i i, i i -. . i ,i ', , i. :
int x, y, *p;y = *p;*p = 10;
i p , i . i, i i , , . , p i , ii .
-
7.2. i i 92
p: , i - , i y, i i i i 10. i, i i , i i, i i iii i.
! , i i . i, i i i i. iii ii. i , i - i ' .
i, i i i -i, i . i i i ii '-ii, i , i i '. ii i , i i, i, i.
i , NULL. - i - i '-ii, NULL, ii ii . , - NULL i, i i1 stdlib.h.
, i i i i , i :
int *p = NULL;. . .if( p != NULL ) {
i , i;}else {
ii ii;}
. p i, ii , ii
i. i i . i , i i i i.
, i int *p, i , 'i, , ii . ii i i, i i .. , . , ii i i 'i ' , i ii. I , i i , .
i i void. i i i -: - -; i i.
int x=0, *pi1=&x, *pi2; /* i */double y=1.1 , *pd=&y; /* i */void *p; /* */p = pi1; /* i */pi2 = ( int *) p; /* i */
1 , NULL ( #define). - i i stdlib.h.
-
7.3. i 93
, i i , . i :
pd = ( double *) p;*pd = 2.718;*pi1 = 8;
ii p i i i x. i , , , , i i i . , pd i 'i, i , ,i i i . i i i 'i, i, i , ,ii , , i i.
1. , ii i , ?
2. i , i ?
3. ? - ?
4. i?
7.3. i
i : .i i i i i i -
i i. :
1 #include 2
3 void swap( int *p, int *q );4 int main( void ) {5 int x=12, y=43;6 swap ( &x, &y );7 printf ( "x=%d, y=%d\n" , x, y );8 return 0;9 }
10
11 void swap( int *p, int *q ) {12 int t;13 t = *p;14 *p = *q;15 *q = t;16 }
i swap1 i ii ii. i main i ii x y. i main i swap, i i ( & i).
ii i swap : i 'i, i p q, i i. i swap i: p i i x i main, q i y. , i i main i : x 43, y 12.
, i i i - , i
1swap . i i
-
7.3. i 94
i ii i i. i, ii, , i, i i. I , i i i i i i .
i i i i , i i i. ii i , i , i i -i. i, i i i i,, , - - i i i i ' i i. , , i , i. i, - , .
, i i scanf (i ) &. i i i i 'i i, i i scanf i i i.
i , - i, i ii ii i, i .
int * max_ptr ( int *a, int *b ) {if( *a > *b ) return a;return b;}
i i. i - i p q, i , i, .
int p, q, *p;/* p i q */
p = max_ptr ( &a, &b );*p = 0;
i p i i, p q. i ii, p, 0. i, i i , i i i, i i p:
*ptr( &a, &b ) = 0;
i, i i , i i, i, i, ii i i .
, i i i, i i i i -. :
1 int *func( void ) {2 int x = 0;3 return &x;4 }5
6 int main( void ) {7 int *p;8 p = func ();9 *p = 0;
10 return 0;11 }
i func , i i i i. i x i i. ,
-
7.4. 95
i i i i . -i func i main i, i i. i i main i 'i, i, i 0 'i. i, p i i i, , -'i i i i ii i i, i i main ii ii.
, i i i.
1. i ?
2. i-i - ?
3. i, i i i i i 1.
4. i , , u v i ii ii. i , i -, , i i ii, u, i ii, v.
5. , i i i ii.
7.4.
i i i i . , i' i , , .
i ii i , i 'i i, . i, i i, i, ii 1018, ii 994, i ii 2204 . i , &m[0]. i , i 1, 2, k, i i i ii i, ii, , k i.
i , i i , i' , i i i. :
int m[10] , *p, k=2;p = & m[0];p[k] = 8;
i m, i- p i i- k . i i- p - . i i i k . i i , - i (, i 2) m.
I' i -. i i: p = m. iii i i- p i m , p i, ( i ), m i iii .
' - i: i i i
-
7.4. 96
ii i . i i, i- i i i, , i i i.
, , i i i ii i i .
1 /* i */
2 double average ( double *p, int n );3 #define M 104 #define N 205 int main( void ) {6 double a[ M ], b[ N ], u, v;7 . . . /* i */8 /* i i */
9 u = average ( a, M );10 v = average ( b, N );11 . . .12 return 0;13 }14
15 /* ii i */
16 double average ( double *p, int n ) {17 double s = 0;18 int i;19 for( i = 0; i < N; i++ )20 s += p[i];21 return s/n;22 }
i average : - , i , ii i i. i i i: i , i i i i ii i. i , p i i- []: i .
ii i main i . i average a, p (, i' i -), n , M, i 10. i i , .
. i i i n-i i i n. , , i n i. i i, - ii, ii i . si = ai + bi i i = 1, 2, . . . , n.
, i i : , , i, -, i , ii i. , i - i 1 n, i i i 0 n 1. :
void add_vect ( double *s, double *a,double *b, int n ) {
int i;for( i = 0; i < n; i++ )
s[i] = a[i] + b[i];}
-
7.5. i ' 97
i , i ( void),i i 'i s.
1. , - , ?
2. i, , ?
3. i i ?
4. i i ii i, i i, i i i( i i i ).
7.5. i '
i : i 'i, i 'i, alloc.h, sizeof, malloc, free., i i, i i i -
i i i i. ii i int a[20] i i i i i i, i . i , i i 'i i - i .
i i ' i i - i i . i i i ii i 'i, .
i ' . , i i 'i, i-i, i , ii i, i ii i- i '. ii.
i i '. - , i i n, i i i n i ( ii ). , i , iii .
1 #include 2 /* . ' */
3 #include 4 int main( void ) {5 double *p; /* i - ! */6 int n; /* ii i - i ! */7 int i;8 printf ( "ii i ? " );9 scanf( "%d" , &n );
10 /* !!! i !!! */
11 p = ( double *) malloc ( n * sizeof(double ) );12 /* i , ! */
13 if( p == NULL ) {14 printf ( " 'i\n" );15 return -1; /* */16 }17 /* i i ,
18 i i p
19 */
-
7.5. i ' 98
20 printf ( "i \n" );21 for( i = 0; i < n; i++ ) {22 printf ( "%d-", i );23 scanf( "%lf" , &p[i] );24 }25 . . .26 /* */
27 . . .28 free( p ); /* */29 return 0;30 }
i i i i . i i ' i i i- i, i i alloc.h.
i i i , i -i i p. , i i , i . i i- i , i .
i , i i , i n. i , i. ii i . i i i i i .
i i 'i i malloc. - i i i 'i, i i. i , , ii i i . , i i ii i, i ii i, i sizeof. sizeof(), i'- , i i i ' .
i malloc i ii 'i i i ii . 'i i i, i malloc i, i- p.
'i, i i malloc, , i, - . i i, ii .
i i malloc i, i ii -i ii i 'i, , , void*. , , i, i - i , ii , double*. i , i i i malloc.
1. i i 'i, i ii i , - i i?
2. i, i- i '?
3. i sizeof?
4. i i i 'i i-? i 'i n i ?
5. void*?
-
7.6. i i 99
6. i i i i '?
7. ii, i , N i, N i.
8. i i i i , i N , i N i. i, i i i N .
7.6. i i
i i ' ( i ) i ii i i,' i i i . ii ' i ( i, i '). , i ' i i, i( i '), . I , i ' - i , i i . i ' i i malloc i free, i i , i i (i i). i .
1 #inclide 2
3 double * alloc_double_array ( int n );4 void kill_double_array ( double *p );5 double * make_fibonacci_table(double *p, int n);6
7 int main( void ) {8 double *fibon;9 int m, i;
10 printf ( "ii ? ");11 scanf( "%d" , &m );12 fibon = make_double_array ( m );13 make_fibonacci_table ( p, m );14 for( i = 1; i < m; i++ )15 printf ( "%lf", fibon[i] / fibon[i -1] );16 kill_double_array ( fibon );17 return 0;18 }19
20 double * alloc_double_array ( int n ) {21 return ( double *) malloc ( n * sizeof(double ) );22 }23
24 void kill_double_array ( double *p ) {25 free( p );26 }27
28 double * make_fibonacci_table(double *p, int n) {29 int i;30 p[0] = 1;31 p[1] = 1;32 for( i = 2; i < n; i++ )33 p[i] = p[i -1] + p[i-2];34 }
i alloc_double_array i ' n i ( n ) . i
-
7.7. ii 100
i malloc i i 'i i