Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C
การเขียนโปรแกรม C
  1. โปรแกรม C หาค่าสูงสุดของจำนวนเต็ม 4 จำนวนด้วยฟังก์ชัน

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 4 ตัว a, b, c, d เราต้องหาค่าสูงสุดโดยสร้างฟังก์ชัน max() เอง ฟังก์ชัน max() รับ 2 ตัวเลข คืนค่าที่มากกว่า แล้วนำไปใช้หาค่าสูงสุดของทั้ง 4 ตัว ตัวอย่าง หากอินพุตเป็น a = 5, b = 8, c = 2, d = 3 ผลลัพธ์จะเป็น 8 ขั้นตอนการแก้ปัญหา นิยามฟังก์ชัน max(x, y) คืนค่าที

  2. โปรแกรม C หาผลรวมและผลต่างด้วย Pointer ในฟังก์ชัน

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 2 ตัว a และ b เราต้องนิยามฟังก์ชันที่คำนวณ (a + b) และ (a - b) พร้อมกัน แต่ฟังก์ชันใน C คืนค่าได้สูงสุด 1 ค่า เพื่อคืนค่าหลายค่า เราใช้ Output Parameters ผ่าน Pointer โดยส่งที่อยู่ของตัวแปรเข้าไป ฟังก์ชันจะอัปเดต a เป็น a+b และ b เป็น a-b ตัวอย่าง หากอินพุตเป็น a

  3. โปรแกรม C แปลงตัวเลขเดี่ยวเป็นคำภาษาอังกฤษ

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลขเดี่ยว d เราต้องแปลงเป็นคำภาษาอังกฤษ เช่น d = 5 จะได้ Five ถ้า d อยู่นอกช่วง 0-9 จะแสดงข้อความแจ้งเตือน ตัวอย่าง หากอินพุตเป็น d = 6 ผลลัพธ์จะเป็น Six ขั้นตอนการแก้ปัญหา นิยามฟังก์ชัน solve(d) รับตัวเลข d ตรวจสอบเงื่อนไข: ถ้า d 9 แสดง Beyond range

  4. โปรแกรม C แปลงตัวเลขเป็นคำภาษาอังกฤษด้วยลูป for

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 2 ตัว a และ b เราต้องแปลงตัวเลขแต่ละตัวในช่วง a ถึง b เป็นคำภาษาอังกฤษและพิมพ์ทีละบรรทัด เช่น ตัวเลข 5 จะพิมพ์ Five ตัวอย่าง หากอินพุตเป็น a = 3, b = 8 ผลลัพธ์จะเป็น: Three Four Five Six Seven Eight ขั้นตอนการแก้ปัญหา นิยามฟังก์ชัน solve(d) ที่รั

  5. โปรแกรม C หาผลรวมหลักของเลข 5 หลัก

    คำอธิบายปัญหา สมมติว่าเรามีเลข 5 หลัก num เราต้องหาผลรวมของตัวเลขแต่ละหลัก วิธีการคือดึงหลักจากขวาไปซ้าย โดยหาร 10 เหลือเศษจะได้หลักสุดท้าย แล้วอัปเดต num เป็นผลหาร (เฉพาะส่วนจำนวนเต็ม) ทำซ้ำจน num = 0 ตัวอย่าง หากอินพุตเป็น num = 58612 ผลลัพธ์จะเป็น 22 เพราะ 5 + 8 + 6 + 1 + 2 = 22 ขั้นตอนการแก้ป

  6. โปรแกรม C หาพจน์ที่ n ของความสัมพันธ์เวียนเกิด (Recurrence Relation)

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข 3 ตัว a, b, c และค่า n ตามสูตรเวียนเกิด S(n): S(1) = a S(2) = b S(3) = c 3 เราต้องหาพจน์ที่ n ตามสูตรนี้ ตัวอย่าง หากอินพุตเป็น a = 5, b = 2, c = 3, n = 6 ผลลัพธ์จะเป็น 28 เพราะ: S(4) = S(3) + S(2) + S(1) = 3 + 2 + 5 = 10 S(5) = S(4) + S(3) + S(2)

  7. โปรแกรม C หาคะแนนนักเรียนแยกชายหญิงจากอาร์เรย์

    คำอธิบายปัญหา สมมติว่ามีอาร์เรย์ marks ที่เก็บคะแนน โดยดัชนีคู่ (0, 2, 4...) เป็นคะแนนของผู้ชาย และดัชนีคี่ (1, 3, 5...) เป็นคะแนนของผู้หญิง มีอินพุต gender เป็น b หรือ g ถ้าเป็น b คืนผลรวมคะแนนผู้ชาย ถ้าเป็น g คืนผลรวมคะแนนผู้หญิง (ขนาดอาร์เรย์คือ N) ตัวอย่าง หากอินพุตเป็น N = 9, marks = [8,5,2,6

  8. โปรแกรม C หาปริมาตรกล่องที่ผ่านอุโมงค์ได้

    คำอธิบายปัญหา สมมติว่ามีอุโมงค์สูง 41 หน่วย และกว้างมาก กล่องจะผ่านได้ถ้าความสูงของกล่องน้อยกว่า 41 อย่างเคร่งครัด เราต้องหาปริมาตรรวมของกล่องที่ผ่านได้ ปริมาตร = ยาว × กว้าง × สูง มีจำนวนกล่อง N และอาร์เรย์ 2 มิติ N แถว 3 คอลัมน์ ตัวอย่าง หากอินพุตเป็น N = 4, boxes = [[9,5,20], [3,7,15], [8,15,41

  9. โปรแกรม C สร้างอาร์เรย์แบบไดนามิกและหาผลรวมองค์ประกอบ

    คำอธิบายปัญหา สมมติว่าเรามีตัวเลข n เราต้องสร้างอาร์เรย์ขนาด n แบบไดนามิก (Dynamic Memory Allocation) รับค่าองค์ประกอบ n ค่า แล้วหาผลรวม ใช้ malloc() หรือ calloc() จาก stdlib.h ค่า n ก็รับมาจาก stdin เช่นกัน ตัวอย่าง หากอินพุตเป็น n = 6 และองค์ประกอบ 9, 8, 7, 2, 4, 3 ผลลัพธ์จะเป็น 33 เพราะ 9+8+7+2

  10. โปรแกรม C กลับลำดับองค์ประกอบในอาร์เรย์ (In-place)

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ที่มี n องค์ประกอบ เราต้องกลับลำดับองค์ประกอบในอาร์เรย์เอง (in-place) ไม่ใช่แค่พิมพ์ในลำดับถอยหลัง ตัวอย่าง หากอินพุตเป็น n = 6, arr = [9, 8, 7, 2, 4, 3] ผลลัพธ์จะเป็น [3, 4, 2, 7, 8, 9] ขั้นตอนการแก้ปัญหา วนลูป i จาก 0 ถึง n/2 - 1 สลับ arr[i] กับ arr[n - i

  11. โปรแกรม C แสดงโทเคน (Tokens) ของสตริง

    คำอธิบายปัญหา สมมติว่าเรามีสตริง s ที่เป็นประโยคประกอบด้วยหลายคำ เราต้องพิมพ์แต่ละคำในบรรทัดใหม่ สามารถใช้ฟังก์ชัน strtok() จากไลบรารี string.h ฟังก์ชันนี้รับสตริงและตัวคั่น (delimiter) ซึ่งในที่นี้คือช่องว่าง ตัวอย่าง หากอินพุตเป็น s = Let us see some string tokenizing fun ผลลัพธ์จะเป็น: Let us

  12. โปรแกรม C หาความถี่ของแต่ละตัวเลขในสตริง

    คำอธิบายปัญหา สมมติว่าเรามีสตริง s ที่ประกอบด้วยตัวอักษรและตัวเลข เราต้องหาความถี่ (Frequency) ของแต่ละตัวเลข (0-9) ที่ปรากฏในสตริงและแสดงผล ตัวอย่าง หากอินพุตเป็น s = we85abc586wow236h69 ผลลัพธ์จะเป็น: (Number 2, Freq 1) (Number 3, Freq 1) (Number 5, Freq 2) (Number 6, Freq 3) (Number 8, Freq 2)

  13. โปรแกรม C หาการจัดเรียง (Permutations) ของสตริงที่กำหนด

    คำอธิบายปัญหา สมมติว่าเรามีสตริงหลายตัวในอาร์เรย์ เราต้องหาการจัดเรียง (Permutations) ทั้งหมดของสตริงเหล่านี้และแสดงผลแต่ละแบบในบรรทัดใหม่ ตัวอย่าง หากอินพุตเป็น strings = [abc, def, ghi] ผลลัพธ์จะเป็น: abc def ghi abc ghi def def abc ghi def ghi abc ghi abc def ghi def abc ขั้นตอนการแก้ปัญหา

  14. โปรแกรม C หาผลรวม ค่าสูงสุด และค่าต่ำสุดด้วย Variadic Functions

    คำอธิบายปัญหา สมมติว่าเราต้องการสร้างฟังก์ชันที่รับจำนวนอาร์กิวเมนต์ไม่คงที่ เราต้องการสร้าง 3 ฟังก์ชันคือ sum(), max() และ min() ที่คำนวณผลรวม ค่าสูงสุด และค่าต่ำสุดของตัวเลขที่ส่งเข้ามา ฟังก์ชันแต่ละตัวจะรับจำนวนอาร์กิวเมนต์ (count) เป็นพารามิเตอร์ตัวแรก ในการนิยามฟังก์ชันแบบนี้ เราต้องใช้ ellips

  15. โปรแกรม C เรียงลำดับสามเหลี่ยมตามพื้นที่

    คำอธิบายปัญหา สมมติว่าเรามีอาร์เรย์ของสามเหลี่ยมต่างๆ โดยที่ triangles[i] = [ai, bi, ci] แทนความยาวด้านสามด้านของสามเหลี่ยมที่ i เราต้องเรียงลำดับสามเหลี่ยมเหล่านี้ตามพื้นที่จากน้อยไปมาก พื้นที่ของสามเหลี่ยมจากความยาวด้านสามด้านคำนวณโดยสูตรของเฮอรอน (Herons formula): รากที่สองของ p(p-a)(p-b)(p-c) โ

  16. โปรแกรม C หาค่าสูงสุดของ AND, OR และ XOR ที่น้อยกว่าค่าที่กำหนด

    คำอธิบายปัญหา สมมติว่าเราได้รับจำนวนเต็มสองจำนวนคือ k และ n งานของเราคือการทำการดำเนินการ 3 แบบ ได้แก่ บิตเวิร์ส AND, บิตเวิร์ส OR และบิตเวิร์ส XOR ระหว่างคู่ของตัวเลขทั้งหมดที่อยู่ในช่วง 1 ถึง n จากนั้นคืนค่าสูงสุดของทั้งสามการดำเนินการที่มีค่าน้อยกว่า k ตัวอย่าง หากอินพุตเป็น n = 5, k = 5 ผลลัพธ

  17. โปรแกรม C: การใช้ Variable-Length Arrays (VLA) จำลองระบบห้องสมุด

    ตัวอย่างโปรแกรม C ใช้ Variable-Length Arrays (VLA) และ Dynamic Memory Allocation จำลองระบบห้องสมุดที่มีชั้นวางหนังสือหลายชั้น รองรับ 3 คำสั่ง: Command 1 (1, x, y): เพิ่มหนังสือที่มี y หน้า ที่ชั้น x Command 2 (2, x, y): แสดงจำนวนหน้าของหนังสือลำดับ y ที่ชั้น x Command 3 (3, x, 0): แสดงจำนวนหนังสือ

  18. โปรแกรม C: Recursive Bubble Sort (แบบเบิลซอร์ตแบบเรียกซ้ำ)

    Bubble Sort เป็นอัลกอริทึมจัดเรียงง่ายๆ ที่เปรียบเทียบค่าติดกัน และสลับที่กันถ้าลำดับผิด รอบแรกค่ามากสุดจะไปอยู่ท้าย รอบที่สองค่ามากอันดับสองไปอยู่ลำดับสองท้าย ทำซ้ำจนเรียบร้อย อัลกอริทึม Bubble Sort (Iterative) int arr[5] = { 5,4,2,1,3 }; Loop i = 0 ถึง n-1 Loop j = 0 ถึง n-i-2 arr[j+1] ให้สลับ

  19. โปรแกรม C สาธิตการ Redeclare ตัวแปร Global และ Local

    บทความนี้เปรียบเทียบพฤติกรรมของ C และ C++ เมื่อ Redeclare (ประกาศซ้ำ) ตัวแปร Global และ Local ในกรณีต่างๆ: ไม่มี Initialization, มี Initialization, และ Initialize ซ้ำ 1. Global Variable - ไม่มี Initialization A) C Program #include <stdio.h> int var; int var; int main() { printf(Var = %d,

  20. การใช้ fopen() เปิดไฟล์ที่มีอยู่แล้วในโหมด Write ในภาษา C

    ฟังก์ชัน fopen() ในภาษา C ใช้สำหรับเปิดไฟล์ที่ระบุ Syntax FILE *fopen(filename, mode) Mode ที่ถูกต้อง: r, w, a, r+, w+, a+ (รายละเอียดดูใน C library reference) fopen() สำหรับไฟล์ที่มีอยู่แล้วในโหมด Write (w / w+) ถ้าไฟล์ ไม่มีอยู่: สร้างไฟล์ใหม่ว่างเปล่า ถ้าไฟล์ มีอยู่แล้ว: ลบเนื้อหาเดิมทั้งหมด

Total 1447 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:73/73  20-คอมพิวเตอร์/Page Goto:1 67 68 69 70 71 72 73