C# Console bir sayının hanelerindeki en büyük sayıyı bulma
Algoritma
- Başla
- a , enb = 0 , b değişkenleri al
- a değerini gir
- b = a – a / 10 * 10 işlemini yap
- Eğer enb < b ise enb = b
- Eğer a <> 0 ise 7. adıma git,değilse a = (a / 10) ve 4. adıma git
- Yazdır enb
- Bitir
Dinamik bir soru sayının kaç basamaklı bir sayı olduğu bilinmiyor ve kullanıcıdan istenilmektedir. Daha önceki çözümlerde sayıyı devamlı 10’a bölerek bunu tanımladığımız enb değişkene atarak karşılaştırma yapılmıştır. Enb değişkeni ise takas alanıdır.
En büyük basamak değeri her adımda şart uyarsa enb içine atılır.Yani her defasında enb içeriği değişebilir. Enb = 0 başlangıçta, sonra b değişkenine birler basamağı atanmaktadır.Daha sonra bu b değerini enb ile karşılaştırıyoruz.Küçükse enb = b’yi atıyoruz.Bu işlemi a = 0 olana kadar devam ettiriyoruz.Son olarak enb değeri ekrana basılmaktadır.
Kod Yapısı
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace dmg
{
class Program
{
static void Main(string[] args)
{
int a , enb , b , aci;
Console.WriteLine("Sayı giriniz = ");
a = Convert.ToInt32( Console.ReadLine() );
enb = 0;
while(a != 0)
{
b = a - a / 10 * 10;
if( enb < b )
{
enb = b;
}
a = (a / 10);
}
Console.WriteLine("En büyük = " + enb);
Console.ReadKey();
}
}
}
2 Ocak 2018