Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C หาผลรวมหลักของตัวเลขในคำสั่งเดียว (Single Statement)


ในส่วนนี้เราจะดูวิธีหาผลรวมของหลักตัวเลขโดยไม่เขียนคำสั่งหลายคำสั่ง กล่าวคือ เราจะหาผลรวมของหลักตัวเลขในคำสั่งเดียว

ตามที่เรารู้ว่า เพื่อหาผลรวมของหลักตัวเลข เราตัดหลักสุดท้ายโดยการหารตัวเลขด้วย 10 แล้วเอาเศษ แล้วหารตัวเลขด้วย 10 อีกครั้งไปเรื่อยๆ จนตัวเลขกลายเป็น 0

เพื่อทำงานเหล่านี้ในคำสั่งเดียว สามารถใช้ลูป for ได้ ตามที่เรารู้ว่ามี 3 ส่วนในลูป for ในขั้นตอนการเริ่มต้น (initialization) เราไม่ทำอะไรในกรณีนี้ ในขั้นตอนตรวจสอบเงื่อนไข (condition checking) เราตรวจสอบว่าตัวเลขมากกว่า 0 หรือไม่ ในขั้นตอนเพิ่ม/ลด (increment/decrement) เราทำหลายงานพร้อมกัน ตรงแรกเราเพิ่มผลรวมโดยเอาหลักสุดท้ายของตัวเลข และลดตัวเลขลงโดยการหารด้วย 10

โค้ดตัวอย่าง

#include <stdio.h>

int main() {
    int n, sum = 0;
    printf("Enter a number: ");
    scanf("%d", &n);
    for(; n > 0; sum += n % 10, n /= 10) {
    }
    printf("The sum of digits: %d", sum);
}

ผลลัพธ์ตัวอย่าง

Enter a number: 457
The sum of digits: 16