สวัสดีครับ น้องๆ โจทย์ C++ ข้อนี้ จะเป็นโจทย์ เขียนโปรแกรมนับจำนวนตัวเลข ที่หารด้วย 5 ลงตัว ครับ เทคนิคที่ใช้ ก็จะมีการใช้ Mod (%) , If , For Loop และ การนับรวมความถี่ ครับ เป็นโจทย์ที่น่าสนใจอีกโจทย์ เอาล่ะครับ ลองมาทำกันดูเลย
โจทย์
จงเขียนโปรแกรมรับค่าเลขสองจำนวน และทำการแสดงผลตัวเลขตั้งแต่ตัวเลขแรกถึงตัวเลขที่สอง โดยที่ทำการนับด้วยว่าตั้งแต่เลขแรกถึงเลขที่สองนั้น มีหาร 5 ลงตัว ทั้งหมดกี่ตัว
หลักการและแนวคิด
จะรู้ได้ยังไงว่าเลขตัวนั้นหาร 5 ลงตัว ?
หลักการคือ ถ้าเลขตัวนั้น Mod ด้วย 5 แล้วผลลัพธ์เป็น 0 เลขตัวนั้นจะหารด้วย 5 ลงตัว
จะนับจำนวนยังไง ?
หลักการนับจำนวนคือ การบวกสะสม เราจะใช้ ตัวแปรนับ = ตัวแปรนับ + 1 หรือ ตัวแปรนับ += 1
Source Code
#include <iostream>
using namespace std;int main()
{
int number_1,number_2,i,count_div5 = 0;
cout << "Enter Number : ";
cin >> number_1;
cout << "Enter Number : ";
cin >> number_2;
for(i=number_1;i<=number_2;i++)
{
if((i % 5) == 0)
{
cout << "(" << i << ") ";
count_div5 = count_div5 + 1;
}
else
{
cout << i << " ";
}
}
cout << endl;
cout << "Result : " << count_div5;
cout << endl << endl;
system("pause");
return 0;
}
อธิบาย Source Code
#include <iostream>
using namespace std;int main()
{
//ประกาศตัวแปร
// number_1 เก็ยค่าตัวเลขแรก , number_2 เก็บค่าตัวเลขสอง
// i เก็บค่าจำนวนนับรอบ , count_div5 เก็บจำนวนนับที่หารด้วย 5 ลงตัว
int number_1,number_2,i,count_div5 = 0;
cout << "Enter Number : "; //แสดงผลรับค่าตัวแรก
cin >> number_1; //รับค่าเลขตัวแรก
cout << "Enter Number : "; //แสดงผลรับค่าตัวสอง
cin >> number_2; //รับค่าเลขตัวที่สอง
//วนรอบเริ่มที่ number_1 ถึง รอบท่ number_2
for(i=number_1;i<=number_2;i++)
{
//ตรวจสอบว่า i เป็นเลขหารด้วย 5 ลงตัวไหม
if((i % 5) == 0)
{
//ถ้าจริง
cout << "(" << i << ") "; //แสดง (i)
count_div5 = count_div5 + 1; //นับจำนวนเลขหารด้วย 5 ลงตัวขึ้น 1
}
else
{
cout << i << " "; //แสดง i
}
}
cout << endl; //เว้นบรรทัด
cout << "Result : " << count_div5; //แสดงผลการนับ
cout << endl << endl;
system("pause");
return 0;
}
ตัวอย่างการ Run โปรแกรม
ตัวอย่างการ Run ครั้งที่ 1
ทดสอบด้วย 5 และ 10 จะได้ เลขที่หารด้วย 5 ลงตัว 2 จำนวน
ตัวอย่างการ Run ครั้งที่ 2
ทดสอบด้วย 5 และ 50 จะได้ เลขที่หารด้วย 5 ลงตัว 10 จำนวน
เป็นยังไงบ้างครับ ข้อนี้ มีทั้ง Mod , If , For Loop เป็นตัวอย่างที่ดีทีเดียวสำหรับน้องๆ มือใหม่หัดเขียนภาษา C ลองศึกษากันดูนะครับ
ถ้าใครมีข้อสงสัย สามารถเข้ามาถามได้ที่ Fanpage TUTORTONG สอนเขียนโปรแกรม นะครับ มาเริ่มเขียนโปรแกรมที่ TUTORTONG สอนเขียนโปรแกรมกันครับ แล้วจะรู้ว่าการเขียนโปรแกรมไม่ได้ยากอย่างที่คิด