ภาษาซี กับ โจทย์ Loop ในตำนาน (6) รับค่าตัวเลขไปเรื่อยๆจนกว่าจะเจอเลข 0 แล้วจึงหยุดรับค่า

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Aussadawut
PHP Hero Member
PHP Hero Member
โพสต์: 123
ลงทะเบียนเมื่อ: 15/11/2018 10:05 am

ภาษาซี กับ โจทย์ Loop ในตำนาน (6) รับค่าตัวเลขไปเรื่อยๆจนกว่าจะเจอเลข 0 แล้วจึงหยุดรับค่า

โพสต์โดย Aussadawut » 17/11/2018 4:59 pm

ภาษาซี กับ โจทย์ Loop ในตำนาน

สำหรับหลายๆคนที่เรียนมาแล้วหรือกำลังเรียนสายคอมพิวเตอร์ โปรแกรม จะต้องเจอกับโจทย์ Loop ชวนปวดหัวของอาจารย์อยู่เรื่อยๆ
นั่นก็เพราะว่า เราจะได้ฝึกให้มีความชำนาญในเรื่อง Loop และเข้าใจการทำงานของมันได้ง่ายขึ้นนั่นเอง

Loop คือ การทำงานวนซ้ำๆไปเรื่อยๆ จนกว่าจะถึงจุดที่เรากำหนดไว้

และโพสต์นี้เป็นโพสต์ที่ 6 แล้ว สำหรับ Loop ภาษาซีในตำนาน

โจทย์ : รับค่าตัวเลขไปเรื่อยๆจนกว่าจะเจอเลข 0 แล้วจึงหยุดรับค่า
c0stop.png
c0stop.png (29.78 KiB) เปิดดู 257 ครั้ง


โค้ด: เลือกทั้งหมด

#include<stdio.h>
main(){
        int a=1; 
        int num[100],i=0,count=0,j=0;
        while(a=1){   // ให้วน loop ไปเรื่อย ถ้า a=1 อันนี้เป็น infinity loop
                printf("Enter number : ");   // แสดงข้อความรับค่า
                scanf("%d",&num[i]);   // รับค่าตัวเลขเก็บใน Array
                if(num[i]==0){   // ถ้า Array ในตำแหน่งล่าสุด มีค่าเท่ากับ 0
                        break;   // สั่งให้หยุดการทำงานของ loop นี้
                }
                i++; count++;   // บวกค่าของ i และ count เพิ่มครั้งละ 1 ของแต่ละรอบ
        }
   // ส่วนของการแสดงผลใน Array
        for(j=0;j<=count;j++){   // วน loop for ตั้งแต่ j มีค่าเท่ากับ 0 จนถึง j มีค่าเท่ากับ count
                printf("%d ",num[j]);   // แสดงค่าของ Array ตั้งแต่ตำแหน่งที่ 0 จนถึงตำแหน่งล่าสุดคือ count
        }
}

จริงๆแล้วเราสามารถเขียนให้สั้นลงได้ ถ้าหากเราเข้าใจการทำงานของมันอย่างดีแล้ว
และหวังว่าโพสต์นี้ จะเป็นแนวทางให้กับน้องๆที่อยากเป็นโปรแกรมเมอร์ในอนาคตนะครับ
------------------------------------------------------------------------------------------------------------

  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 6 และ บุคคลทั่วไป 0 ท่าน