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();