fork download
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5. int i, j;
  6. long dec; /* ให้รับค่าอินพุทแบบ Long Integer - เลขจำนวนเต็มแบบยาว */
  7. int bit[32]; /* จองพื้นที่ในการเก็บข้อมูลเลขฐาน 2 ลงใน Array */
  8.  
  9. clrscr(); /* เคลียร์หน้าจอ */
  10. printf("Decimal Number : "); /* แจ้งผู้ใช้เพื่อเตรียมป้อนค่าเลขฐาน 10 */
  11. scanf("%ld", &dec); /* ต้องใช้ ld เพราะ Input มันเป็นแบบ Long Integer */
  12. i = 0; /* กำหนดค่าเริ่มต้นของ Array */
  13. /* ทำตามที่ได้ออกแบบโปรแกรมเอาไว้ ... ยังไงยังงั้นเลย 55555+ */
  14. do {
  15. bit[i++] = dec % 2; /* การหารเอาเศษ เพื่อให้เป็นคำตอบ */
  16.  
  17. /* การหารทั่วไป แต่ตัวแปร dec ของภาษา C มันเป็น Integer หรือ เลขจำนวนเต็ม */
  18. /* ดังนั้นมันจึงตัดเศษ (หรือทศนิยม) ทิ้งไปโดยอัตโนมัติ */
  19. dec = dec / 2;
  20.  
  21. } while (dec > 0); /* เงื่อนไขที่ทำจนกระทั่ง dec = 0 ก็ออกจากวังวนเงื่อนไข */
  22.  
  23. /* การแสดงผลของการแปลงเลขฐาน 10 เป็นเลขฐาน 2*/
  24. /* j = i - 1 และให้ j ลดค่าลงทีละ 1 ... ก็คืออ่านข้อมูลถอยหลังกลับเท่านั้นเองครับ */
  25. /* เพราะตัวแปรแบบ Array ในภาษา C มันเก็บข้อมูลจากซ้ายไปขวา */
  26. /* ทำให้ LSB มันไปอยู่ทางซ้าย ส่วน MSB มันไปอยู่ทางขวา */
  27. for(j = i - 1; j >= 0; j--)
  28. printf("%d", bit[j]);
  29.  
  30. printf("\n");
  31. return 0;
  32.  
  33. }
Success #stdin #stdout 0.03s 25736KB
stdin
<!DOCTYPE html>
<html lang="th">
<head>
  <meta charset="UTF-8">
  <title>LevelUp! Vocab</title>
  <style>
    body {
      font-family: sans-serif;
      background: #f5f5f5;
      display: flex;
      justify-content: center;
      padding: 20px;
    }
    .board-container {
      position: relative;
    }
    .board {
      display: grid;
      grid-template-columns: repeat(10, 50px);
      grid-template-rows: repeat(10, 50px);
      gap: 4px;
      background: #cce;
      padding: 10px;
      border: 4px solid #333;
      position: relative;
    }
    .cell {
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: bold;
      border-radius: 6px;
      color: #fff;
      position: relative;
    }
    .blue { background-color: #4db8ff; }
    .green { background-color: #60d394; }
    .yellow { background-color: #f2b84b; }
    .default { background-color: #ccc; color: #000; }

    .snake, .ladder {
      position: absolute;
      font-size: 36px;
      pointer-events: none;
    }

    /* ตำแหน่งงู (ตัวอย่าง) */
    .snake1 { top: 220px; left: 40px; rotate: 15deg; }
    .snake2 { top: 140px; left: 300px; rotate: -10deg; }
    .snake3 { top: 80px; left: 100px; rotate: 30deg; }

    /* ตำแหน่งบันได (ตัวอย่าง) */
    .ladder1 { top: 350px; left: 60px; rotate: -35deg; }
    .ladder2 { top: 160px; left: 210px; rotate: 25deg; }
    .ladder3 { top: 60px; left: 370px; rotate: -10deg; }
  </style>
</head>
<body>
  <div class="board-container">
    <div class="board" id="board"></div>

    <!-- งู -->
    <div class="snake snake1">🐍</div>
    <div class="snake snake2">🐍</div>
    <div class="snake snake3">🐍</div>

    <!-- บันได -->
    <div class="ladder ladder1">🪜</div>
    <div class="ladder ladder2">🪜</div>
    <div class="ladder ladder3">🪜</div>
  </div>

  <script>
    const blueCells = [1,4,7,10,13,16,19,23,26,29,31,34,37,40,42,45,48,52,55,58,61,64,67,70,73,76,79,83,86,89,91,94,97,100];
    const yellowCells = [80,41,20,82,59,22,98,63,38,3,77,44,17,85,56,25,95,66,35,6,74,47,14,88,53,28,92,69,32,9,71,50,11];
    const greenCells = [81,99,60,62,78,84,96,21,39,43,57,65,75,87,93,2,18,24,36,46,54,68,72,90,5,15,27,33,49,51,8,12,30];

    const board = document.getElementById('board');

    for (let row = 9; row >= 0; row--) {
      for (let col = 0; col < 10; col++) {
        let i = row % 2 === 0 ? col : 9 - col;
        const num = row * 10 + i + 1;
        const cell = document.createElement('div');
        cell.classList.add('cell');

        if (blueCells.includes(num)) {
          cell.classList.add('blue');
        } else if (yellowCells.includes(num)) {
          cell.classList.add('yellow');
        } else if (greenCells.includes(num)) {
          cell.classList.add('green');
        } else {
          cell.classList.add('default');
        }

        cell.textContent = num;
        board.appendChild(cell);
      }
    }
  </script>
</body>
</html>
stdout
#include <stdio.h>

int main(void)
{
int i, j;
long dec;  /* ให้รับค่าอินพุทแบบ Long Integer - เลขจำนวนเต็มแบบยาว */
int bit[32];  /* จองพื้นที่ในการเก็บข้อมูลเลขฐาน 2 ลงใน Array */

    clrscr();  /* เคลียร์หน้าจอ */
    printf("Decimal Number : ");  /* แจ้งผู้ใช้เพื่อเตรียมป้อนค่าเลขฐาน 10 */
    scanf("%ld", &dec);  /* ต้องใช้ ld เพราะ Input มันเป็นแบบ Long Integer */
    i = 0;  /* กำหนดค่าเริ่มต้นของ Array */
    /* ทำตามที่ได้ออกแบบโปรแกรมเอาไว้ ... ยังไงยังงั้นเลย 55555+ */
    do {
        bit[i++] = dec % 2;  /* การหารเอาเศษ เพื่อให้เป็นคำตอบ */

        /* การหารทั่วไป แต่ตัวแปร dec ของภาษา C มันเป็น Integer หรือ เลขจำนวนเต็ม */
        /* ดังนั้นมันจึงตัดเศษ (หรือทศนิยม) ทิ้งไปโดยอัตโนมัติ */
        dec = dec / 2;

    } while (dec > 0);  /* เงื่อนไขที่ทำจนกระทั่ง dec = 0 ก็ออกจากวังวนเงื่อนไข */

    /* การแสดงผลของการแปลงเลขฐาน 10 เป็นเลขฐาน 2*/
    /* j = i - 1 และให้ j ลดค่าลงทีละ 1 ... ก็คืออ่านข้อมูลถอยหลังกลับเท่านั้นเองครับ */
    /* เพราะตัวแปรแบบ Array ในภาษา C มันเก็บข้อมูลจากซ้ายไปขวา */
    /* ทำให้ LSB มันไปอยู่ทางซ้าย ส่วน MSB มันไปอยู่ทางขวา */
    for(j = i - 1; j >= 0; j--)
        printf("%d", bit[j]);

printf("\n");
return 0;

}