ทำไงสอบด่วน

กระทู้คำถาม
Text Formatting #2
โค๊ด
printf ("Characters: %c\n", 'a');เศร้า
printf ("Decimals: %d %d\n", 1977, 6500000000);
printf ("Preceding with blanks: %7d \n", 1977);
printf ("Preceding with zeros: d \n", 1977);
printf ("Base number: %d %x %o\n", 427, 427, 427);
printf ("Floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
printf ("%s \n", "123 in this text is a String not a number");
ผลลัพธ์
Characters: a
Decimals: 1977 6500000000
Preceding with blanks:    1977
Preceding with zeros: 0001977
Base number: 427 1ab 653
Floats: 3.14 +3e+00 3.141600E+00
123 in this text is a String not a number

ข้อควรจำ
     ตัวอักษร หรืออักขระ 1 ตัว (Character) ในภาษา C เราจะใช้เครื่องหมาย  ' (Single qoute) คร่อม
     ชุดตัวอักษร หรือสายอักขระ (String) ในภาษา C เราจะใช้เครื่องหมาย " (Double qoute) คร่อม
     ตัวเลข สามารถใช้ได้เลย ไม่ต้องมีตัวคร่อม
เพิ่มเติม
     %7d    หมายความว่า แสดงเลขฐานสิบโดยมีความกว้างอย่างน้อย 7 ตัวอักษร
               หากเลขนั้นมีจำนวนหลักน้อยกว่า 7 หลัก โปรแกรมจะใส่ช่องว่างด้านหน้าเลขนั้นจนครบ 7 ตัว
     d  หมายความว่า แสดงเลขฐานสิบโดยมีจำนวนหลักอย่างน้อย 7 หลัก
               หากเลขนั้นมีจำนวนหลักน้อยกว่า 7 หลัก โปรแกรมจะใส่เลขศูนย์ด้านหน้าเลขนั้นจบครบ 7 หลัก
     %+d   หมายความว่า ปกติแล้วเลขจำนวนบวกจะไม่มีเครื่องหมายนำหน้า ใช้โค๊ดนี้เพื่อสั่งให้แสดง
     %.2f   หมายความว่า แสดงเลขจำนวนจริง โดยแสดงตำแหน่งทศนิยมเพียง 2 หลัก

หลักการด้านบน สามารถใช้พร้อมกันได้ด้วย เ่ช่น   .3f   %+3d   เป็นต้น
คำถามผ่านด่าน
ทดลองใช้สิ่งต่างๆเกี่ยวกับ Text Formatting ของคำสั่ง printf() ให้คล่อง
ทดลองใช้โค๊ดผิดประเภท เช่น ใช้ %d กับ เลขทศนิยม ใช้ %e กับเลขจำนวนเต็ม สังเกตผลว่าเป็นอย่างไร
หลังจากนั้น ให้แก้โค๊ดโปรแกรมด้านล่างให้แสดงผลดังผลลัพธ์ถูกต้องเพื่อไปหน้าต่อไป
ผลลัพธ์
1668
1668.26
1668.258
1668.258
+422
0422
3.14
I'm eager to go to the next page

หมายเหตุ: ขอให้แก้เฉพาะในส่วน argument แรกของ print() เท่านั้น (นั่นหมายถึงแก้พวก % ชนิดต่างๆ ให้ถูกต้อง)
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่