Àëãîðèòìi÷íi ìîâè òà îñíîâè ïðîãðàìóâàííÿ: ìîâà...

195

Upload: vongoc

Post on 11-Jun-2018

216 views

Category:

Documents


0 download

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