C# Console Örnekleri – Girilen Sayının Basamak Değerleri Toplamı

Klavyeden kullanıcının girdiği bir sayının basamak değerleri toplamının bulunması isteniyor
Örnek..:
1453
1+4+5+3=13 gibi..
Sayının basamak değerleri toplamını bulabilmek için birden fazla yöntem kullanılabilir
1-

Console.WriteLine("Bir Sayı Girin");
            int sayi = Convert.ToInt32(Console.ReadLine());
            int kacbasamak = sayi.ToString().Length;
            int toplam = 0;
            for(int i=0;i<kacbasamak;i++)
            {
                toplam +=Convert.ToInt32(sayi.ToString().Substring(i, 1));
            }
            Console.WriteLine("Girilen {0} sayısının basamaklarının rakamları toplamı= {1}", sayi, toplam);
            Console.ReadLine();

2-

            Console.WriteLine("Bir Sayı Girin");            
            string sayi = Console.ReadLine();
            int toplam = 0;           
            for (int i = 0; i < sayi.Length; i++)
                toplam += Convert.ToInt32(sayi[i].ToString());
            Console.WriteLine("Girilen {0} sayısının basamaklarının rakamları toplamı= {1}", sayi, toplam);
            Console.ReadLine();

bu ilk iki örnek birbirine benzer yapıda zaten farklı olarak

          Console.WriteLine("Bir Sayı Girin");
          int sayi = Convert.ToInt32(Console.ReadLine());         
            int toplam = 0;          
            int carpan = 1;
            bool cikis = false;
            while (!cikis)
            {
                int mod = sayi % (carpan * 10);
                int kalan = mod / carpan;
                toplam += kalan;
                carpan *= 10;
                cikis = (mod == sayi);
            }
            Console.WriteLine("Girilen {0} sayısının basamaklarının rakamları toplamı= {1}", sayi, toplam);
            Console.ReadLine();