1-bo'lim mashqlari va masalalar

~45 daq · C tili · Asoslar

Bu dars haqida

1-bo'limda o'rgangan barcha mavzular:

✓ O'zgaruvchilar va ma'lumot turlari
✓ scanf va printf
✓ Arifmetik va mantiqiy operatorlar
✓ if / else / else if
✓ switch — case
✓ for, while, do-while sikllar

Endi bularni birgalikda ishlatamiz. Masalalar qiyinlik darajasi bo'yicha tartiblangan.


Oson masalalar


✏️ Masala 1 — 1 dan 15 gacha

Foydalanuvchidan kiritish yo'q. 1 dan 15 gacha barcha sonlarni chiqaring.

Input Output
— 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

✏️ Masala 2 — 1 dan N gacha

Foydalanuvchidan N oling. 1 dan N gacha sonlarni chiqaring.

Input Output
4 1 2 3 4
7 1 2 3 4 5 6 7
10 1 2 3 4 5 6 7 8 9 10

✏️ Masala 3 — Boshlang'ich sondan 15 gacha

Foydalanuvchidan n oling.

  • n <= 15 bo'lsa — n dan 15 gacha oshib chiqaring
  • n > 15 bo'lsa — n dan 15 gacha kamayib chiqaring
Input Output
3 3 4 5 6 7 8 9 10 11 12 13 14 15
15 15
21 21 20 19 18 17 16 15
16 16 15

✏️ Masala 4 — Qadam bilan chiqarish

Foydalanuvchidan i (boshlang'ich) va step (qadam) oling. i dan 15 gacha step bilan chiqaring.

Input Output
4 3 4 7 10 13
1 2 1 3 5 7 9 11 13 15
5 5 5 10 15
10 1 10 11 12 13 14 15

✏️ Masala 5 — i dan n gacha

Foydalanuvchidan i va n oling.

  • i < n → oshib borib chiqaring
  • i > n → kamayib borib chiqaring
  • i == n → faqat o'sha son
Input Output
6 11 6 7 8 9 10 11
3 3 3
10 5 10 9 8 7 6 5
1 4 1 2 3 4

✏️ Masala 6 — 1 dan 19 gacha yig'indi

Kiritish yo'q. 1 dan 19 gacha barcha sonlar yig'indisini chiqaring.

Input Output
— 190

✏️ Masala 7 — 1 dan 20 gacha juft sonlar yig'indisi

Kiritish yo'q. 1 dan 20 gacha faqat juft sonlar yig'indisi.

Input Output
— 110

✏️ Masala 8 — Kvadratlar yig'indisi

Foydalanuvchidan N oling. 1 dan N gacha sonlarning kvadratlari yig'indisi.

N=4 → 1² + 2² + 3² + 4² = 1+4+9+16 = 30
Input Output
4 30
1 1
3 14
5 55

✏️ Masala 9 — Talabalar umumiy balli

Sinfda 10 ta talaba bor. Har birining imtihon balini ketma-ket oling. Umumiy ballni chiqaring.

Input Output
85 90 78 88 92 75 80 85 91 78 842
100 100 100 100 100 100 100 100 100 100 1000

✏️ Masala 10 — O'rtacha yosh

5 ta talabaning yoshini oling. O'rtacha yoshni hisoblang.

Input Output
20 21 22 20 23 21.2
18 18 18 18 18 18.0
25 30 20 15 10 20.0

✏️ Masala 11 — Voyaga yetmaganlar

Foydalanuvchidan N oling, keyin N ta yoshni oling. 18 yoshdan kichik bo'lganlar sonini chiqaring.

Input Output
N=7, 25 21 22 15 17 32 19 2
N=5, 10 12 14 16 18 4
N=3, 20 21 22 0

✏️ Masala 12 — Faktorial

Foydalanuvchidan N oling. N! ni hisoblang.

5! = 1 × 2 × 3 × 4 × 5 = 120
Input Output
5 120
3 6
1 1

✏️ Masala 13 — N dan 1 gacha teskari

Foydalanuvchidan N oling. N dan 1 gacha kamayib chiqaring.

Input Output
5 5 4 3 2 1
1 1
3 3 2 1

✏️ Masala 14 — A dan B gacha 5 ga bo'linadiganlar

Foydalanuvchidan A va B oling. A dan B gacha 5 ga bo'linadigan sonlarni chiqaring.

Input Output
1 25 5 10 15 20 25
6 14 10
1 4 (hech narsa)

✏️ Masala 15 — A va B orasidagi yig'indi

Foydalanuvchidan A va B oling. A dan B gacha (ikkalasi ham kiradi) yig'indini chiqaring.

Input Output
3 8 Yig'indi: 33
1 1 Yig'indi: 1
5 6 Yig'indi: 11

O'rta masalalar


✏️ Masala 16 — Minimal qiymat

Foydalanuvchidan N va N ta son oling. Eng kichik sonni toping.

Input Output
5, 7 2 3 10 12 Minimal: 2
3, 5 1 2 Minimal: 1
3, -1 -3 -5 Minimal: -5

✏️ Masala 17 — Eng katta va kichik

Foydalanuvchidan N va N ta son oling. Eng katta va eng kichik sonni toping.

Input Output
6, 12 45 7 89 32 20 Katta: 89, Kichik: 7
3, 5 5 5 Katta: 5, Kichik: 5
3, -1 -10 3 Katta: 3, Kichik: -10

✏️ Masala 18 — Sondagi juft raqamlar

Foydalanuvchidan butun son oling. Uning raqamlari orasida nechta juft raqam borligini toping.

Input Output
28473 Juft: 3
7113 Juft: 0
2468 Juft: 4

✏️ Masala 19 — Sondagi eng katta raqam

Foydalanuvchidan butun son oling. Uning raqamlari orasidagi eng katta raqamni toping.

Input Output
6425912 9
3057 7
11111 1

✏️ Masala 20 — Fibonacci yig'indisi

Foydalanuvchidan N oling. Fibonacci ketma-ketligining dastlabki N hadini yig'indisini chiqaring.

0, 1, 1, 2, 3, 5, 8, 13 ...
N=5 → 0+1+1+2+3 = 7
Input Output
5 Yig'indi: 7
1 Yig'indi: 0
7 Yig'indi: 20

✏️ Masala 21 — Shokoladlar

Foydalanuvchi har bir paketdagi shokolad sonini ketma-ket kiritadi (0 kiritilguncha). Eng ko'p shokolad bor paket va umumiy sonni chiqaring.

Input Output
5 12 3 8 0 Eng ko'p: 12, Umumiy: 28
1 1 1 0 Eng ko'p: 1, Umumiy: 3

✏️ Masala 22 — Kvadrat shakl [shakl]

Foydalanuvchidan n oling. n × n o'lchamdagi & belgidan iborat kvadrat chiqaring.

Input: 4

& & & &
& & & &
& & & &
& & & &

Input: 3

& & &
& & &
& & &

✏️ Masala 23 — Uchburchak (pastga) [shakl]

Foydalanuvchidan n oling. Har qatorda kamayib boradigan * bilan to'g'ri burchakli uchburchak chiqaring.

Input: 4

* * * *
* * *
* *
*

Input: 3

* * *
* *
*

✏️ Masala 24 — Qator raqamli kvadrat [shakl]

Foydalanuvchidan n oling. Har qatorda o'sha qator raqami chiqsin.

Input: 3

1 1 1
2 2 2
3 3 3

Input: 4

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4

✏️ Masala 25 — Diagonal [shakl]

Foydalanuvchidan n oling. n × n kvadratning faqat asosiy diagonalidagi elementlar o'rniga *, qolganlariga bo'sh joy chiqaring.

Input: 4

*
  *
    *
      *

✏️ Masala 26 — Karra jadvali [shakl]

1 dan 10 gacha karra jadvalini chiqaring.

 1  2  3  4  5  6  7  8  9 10
 2  4  6  8 10 12 14 16 18 20
 3  6  9 12 15 18 21 24 27 30
 ...
10 20 30 40 50 60 70 80 90 100

Har son uchun %4d format ishlating.


Qiyin masalalar


✏️ Masala 27 — Raqamlar statistikasi [real hayot]

Foydalanuvchidan N ta son kiriting (0 kiritilguncha). Kiritish tugagach quyidagilarni chiqaring:

  • Nechta son kiritildi
  • Yig'indi
  • O'rtacha qiymat
  • Eng katta va eng kichik son
Input Output
4 7 2 9 1 0 Soni: 5, Yig'indi: 23, O'rtacha: 4.60, Max: 9, Min: 1
10 10 10 0 Soni: 3, Yig'indi: 30, O'rtacha: 10.00, Max: 10, Min: 10

✏️ Masala 28 — Raqam taxminlash o'yini [real hayot]

Dasturda maxfiy son: int maxfiy = 42

Foydalanuvchi topgunicha taxmin qiladi. Har urinishda yo'naltiring:

  • Katta → Kichikroq son kiring
  • Kichik → Kattaroq son kiring
  • To'g'ri → Barakalla! N ta urinishda topdingiz
Urinishlar Output
10 50 30 42 Barakalla! 4 ta urinishda topdingiz
42 Barakalla! 1 ta urinishda topdingiz

✏️ Masala 29 — Raqamli piramida [shakl]

Foydalanuvchidan N oling. Quyidagi piramidani chiqaring:

N=5:
    1
   121
  12321
 1234321
123454321

Har qatorda: bo'sh joylar, o'suvchi raqamlar, kamayuvchi raqamlar.


✏️ Masala 30 — EKUB va EKUK [matematika]

Foydalanuvchidan ikkita son A va B oling.

  • EKUB (eng katta umumiy bo'luvchi) ni toping
  • EKUK (eng kichik umumiy karrali) ni toping
EKUK = (A × B) / EKUB
Input Output
48 18 EKUB: 6, EKUK: 144
100 75 EKUB: 25, EKUK: 300
7 13 EKUB: 1, EKUK: 91

✏️ Masala 31 — Tub sonlar orasida [matematika]

Foydalanuvchidan A va B oling. A dan B gacha barcha tub sonlarni chiqaring. Nechta ekanligini ham aytib qo'ying.

Input Output
1 20 2 3 5 7 11 13 17 19 — Jami: 8 ta
10 30 11 13 17 19 23 29 — Jami: 6 ta

✏️ Masala 32 — Collatz ketma-ketligi [o'yin]

Foydalanuvchidan musbat son N oling. Quyidagi qoidani N = 1 bo'lguncha takrorlang:

  • N juft bo'lsa → N = N / 2
  • N toq bo'lsa → N = N * 3 + 1

Ketma-ketlikni va necha qadam kerakligini chiqaring.

N=6: 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1
Input Output
6 6 3 10 5 16 8 4 2 1 — Qadam: 8
1 1 — Qadam: 0
27 (uzoq ketma-ketlik) — Qadam: 111

⭐ Yulduzcha masalalar


✏️ Masala 33 — Armstrong sonlari [yulduzcha]

N xonali son Armstrong soni hisoblanadi, agar har bir raqamining N-darajasi yig'indisi sonning o'ziga teng bo'lsa.

153 = 1³ + 5³ + 3³ = 153 ✓
370 = 3³ + 7³ + 0³ = 370 ✓

1 dan 999 gacha barcha Armstrong sonlarini toping va chiqaring.

Input Output
— 1 2 3 4 5 6 7 8 9 153 370 371 407

✏️ Masala 34 — Kasr ko'rinishi [yulduzcha]

Foydalanuvchidan N oling. Quyidagi qatorni hisoblang:

S = 1/1 + 1/2 + 1/3 + ... + 1/N
Input Output
4 S = 2.0833
10 S = 2.9290
1 S = 1.0000

Hint: (double)1 / i — butun songa e'tibor bering.


✏️ Masala 35 — Shart bilan to'xtatish [yulduzcha]

Foydalanuvchi sonlarni ketma-ket kiritadi (0 kiritilguncha davom etadi).

Har kiritilgan sonda hisoblang:

  • Umumiy yig'indi
  • Musbatlar soni va yig'indisi
  • Manfiylar soni va yig'indisi
  • O'rtacha qiymat
Kiriting: 5
Kiriting: -3
Kiriting: 8
Kiriting: -1
Kiriting: 0

=== Natija ===
Umumiy:    4 ta son, yig'indi: 9
Musbat:    2 ta, yig'indi: 13
Manfiy:    2 ta, yig'indi: -4
O'rtacha:  2.25

Xulosa — 1-bo'lim

Siz endi bilasiz:

Mavzu Nima uchun kerak
O'zgaruvchilar Ma'lumot saqlash
scanf / printf Kiritish / chiqarish
Operatorlar Hisob-kitob va mantiq
if / else Qaror qabul qilish
switch Ko'p variantdan birini tanlash
for / while / do-while Takrorlash

Keyingi bo'lim

1-bo'lim tugadi. Endi yangi daraja — funksiyalar, rekursiya, massivlar.

11-dars: Funksiyalar — e'lon, ta'rif, chaqirish