สำหรับหลายๆ คนที่เรียนมาแล้วหรือกำลังเรียนสายคอมพิวเตอร์ โปรแกรม โปแกรมคำนวณแรกๆที่เจอ จะเป็นคำนวณเกรด กระทู้นี้ แนะนำยากขึ้นมาอีกนิด คิดว่าหลายๆท่าน จะต้องเจอกับโจทย์ Loop ชวนปวดหัวของอาจารย์อยู่เรื่อยๆ
นั่นก็เพราะว่า เราจะได้ฝึกให้มีความชำนาญในเรื่อง Loop และเข้าใจการทำงานของมันได้ง่ายขึ้นนั่นเอง
Loop คือ การทำงานวนซ้ำๆไปเรื่อยๆ จนกว่าจะถึงจุดที่เรากำหนดไว้
โจทย์ : รับค่าตัวเลข และแสดงดอกจันดังรูป
โค้ด: เลือกทั้งหมด
#include<stdio.h>
main()
{
int i,j,num;
printf("Enter number : ");
scanf("%d",&num);
for(i=1;i<=num;i++){
for(j=1;j<=i;j++){
printf("*");
}
printf("\n");
}
}
บรรทัดที่ 5 แสดงข้อความรับค่าตัวเลข
บรรทัดที่ 6 รับค่าตัวเลขเก็บไว้ในตัวแปร num
บรรทัดที่ 7 Loop ชั้นแรก ทำการรัน Loop ตั้งแต่ i = 1 จนถึง i = num (บวกครั้งละ 1) ความหมายคือ For Loop จะรันจนกว่าค่าของ i จะเท่ากับค่าของ num ซึ่งก็คือ ค่าที่เราเก็บเข้ามาในตอนแรก
บรรทัดที่ 8,9 Loop ชั้นที่2 ทำการรัน Loop ตั้งแต่ j = 1 จนถึง j = i (บวกครั้งละ 1) ความหมายคือ For Loop จะรันจนกว่าค่าของ j จะเท่ากับค่าของ i และสั่งให้ปริ้น * เท่ากับค่าของ i
บรรทัดที่ 11 ลงบรรทัดใหม่หลังเพิ่มค่า i แตต่ละครั้ง
แนวคิด
ให้ i คือ บรรทัด และให้ j คือ จำนวนดอกจัน เมื่อ j เท่ากับ i ดอกจันก็จะเท่ากับเลขบรรทัด เช่น
เมื่อรับค่าข้อมูล คือ 2 จำนวนบรรทัด จะมีแค่ 2 บรรทัด บรรทัดที่ 1 จะมีดอกจันแค่ 1 ดอกจัน บรรทัดที่ 2 จะมีดอกจัน 2 ดอกจัน เป็นเช่นนี้ไปเรื่อยๆ
ทิ้งท้าย ไปดูแบบ Python กันบ้าง