এই অংশে আমরা দেখব কিভাবে একাধিক স্টেটমেন্ট না লিখে অঙ্কগুলোর যোগফল বের করা যায়। অন্য কথায়, আমরা একক স্টেটমেন্টে অঙ্কগুলোর যোগফল বের করব।
আমরা জানি, অঙ্কগুলোর যোগফল বের করতে হলে সংখ্যাকে ১০ দিয়ে ভাগ করে ভাগশেষ নিলে শেষ অঙ্কটা পাওয়া যায়, এবং আবার সংখ্যাকে ১০ দিয়ে ভাগ করলে শেষ অঙ্কটা বাদ পড়ে। এইভাবে সংখ্যা ০ হয়ে যাওয়া পর্যন্ত চালিয়ে যেতে হয়।
এই কাজটি একক স্টেটমেন্টে করতে for লুপ ব্যবহার করা যায়। for লুপে তিনটি আলাদা সেকশন থাকে। ইনিশিয়ালাইজেশন ফেজে আমরা এখানে কিছু করছি না, কন্ডিশন চেকিং ফেজে চেক করছি সংখ্যা ০-র চেয়ে বড় কিনা। ইনক্রিমেন্ট/ডিক্রিমেন্ট ফেজে আমরা একসাথে দুটি কাজ করছি: প্রথমে যোগফলে শেষ অঙ্কটি যোগ করছি, এবং সংখ্যাকে ১০ দিয়ে ভাগ করে ছোট করছি।
উদাহরণ কোড
#include <stdio.h>
main() {
int n, sum = 0;
printf("একটি সংখ্যা দিন: ");
scanf("%d", &n);
for(; n > 0; sum += n%10, n /= 10) {
}
printf("অঙ্কগুলোর যোগফল: %d", sum);
}
আউটপুট ১
একটি সংখ্যা দিন: 457 অঙ্কগুলোর যোগফল: 16