บทที่ 6 ตัวอักษรและสตริง
จบบทนี้ น้องจะเขียนโปรแกรมที่ทำงานกับข้อความได้ รับคำหรือรับทั้งบรรทัด นับตัวอักษร เปลี่ยนตัวพิมพ์ใหญ่เล็ก กลับคำ เช็ก palindrome นับคำ และเข้ารหัสข้อความ ซึ่งเป็นโจทย์แนวที่เจอบ่อยใน TOI Zero และจะรู้กับดักที่ทำให้โปรแกรมสตริงผิดหรือช้าโดยไม่มีคำเตือน เช่น '\n' ที่ค้างหลัง scanf และการเรียก strlen ในเงื่อนไขลูป โจทย์แข่งขันใช้แค่ตัวอักษรภาษาอังกฤษ ทั้งบทจึงใช้ภาษาอังกฤษในข้อมูลเข้าและผลลัพธ์
ในบทนี้
| หน้า | ได้อะไร |
|---|---|
| 6.1 ตัวอักษรคือตัวเลข | คำนวณกับตัวอักษร เปลี่ยนตัวพิมพ์ แปลงตัวเลข เลื่อนแบบวนรอบ และ ctype.h |
| 6.2 สตริงคืออาเรย์ของ char | '\0' ปิดท้าย ขนาดอาเรย์ที่ต้องใช้ รับคำด้วย %s และวนลูปทีละตัว |
| 6.3 รับข้อความทั้งบรรทัด | fgets ตัด '\n' ทิ้ง และกับดักเมื่อใช้ scanf ตามด้วย fgets |
| 6.4 ฟังก์ชันใน string.h | strlen strcpy strcmp strcat และเวลาที่วัดจริงเมื่อเรียก strlen ในลูป |
| 6.5 อัลกอริทึมกับสตริง | นับตัวอักษร กลับคำ palindrome นับคำ Caesar cipher และ run-length |