Basamaklarının toplamı, Basamak sayısına eşit olan Sayıları Bulmak

Merhabalar ödev listemizden devam ediyoruz. Şimdiki sorumuz:
Kullanıcının girdiği sayının Basamaklarının toplamı, basamak sayısına eşit olup olmadığını bulan ve ekrana yazdıran programı yazınız. Örneğin 102 tamsayısında basamaklarının toplamı 1+0+2=3 tür.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi;
            Console.WriteLine("Lütfen Sayıyı Giriniz");
            sayi= Convert.ToInt32(Console.ReadLine());
            string sayis;
            sayis = Convert.ToString(sayi);
            int sayac=1, onluk=1;
            while (sayi/onluk>1)
            {
                onluk = onluk * 10;
                sayac++;
            }
            int a, degisken = 0, toplam = 0 ;
            while (degisken < sayac)
            {
                a = Convert.ToInt32(sayis.Substring(degisken, 1));
                toplam = toplam + a;
                degisken++;
            }
            if (toplam==sayac){
                Console.WriteLine("Girdiğiniz sayının Basamakları toplamı, basamak sayısına eşittir. ");
            }
            else{
                Console.WriteLine("Girdiğiniz sayının Basamakları toplamı, basamak sayısına eşit değildir. ");
            }
           }
        }

    }

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Protected by WP Anti Spam