Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Suma cifre

Calculati suma cifrelor unui numar natural dot cu maximum 9 cifre.

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

namespace _10 
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, m, suma = 0;
            Console.Write("Dati un numar de maxim 9 cifre : ");
            n = int.Parse(Console.ReadLine());
            m = n;
            while (m != 0)
            {
                suma += m % 10;
                m /= 10; // m = m / 10;
            }
            Console.WriteLine("Suma cifrelor lui {0} este {1}", n, suma);
            Console.ReadLine();
        }
    }
}

Analiza Programului
– Pe prima linie sunt declarate variabilele m si n de tip intreg si variabila s, in care vom calcula suma cifrelor lui n (observam initializarea acesteia de la declarare cu 0, deoarece insumarea cifrelor se va face pornind de la 0);
– Citirea de la tastatura numarului n;
– Lui m i se atribuie variabila n, pentru a nu pierde valoarea n; aceasta este o tehnica utilizata intotdeauna cand avem de modificat valoarea retinuta de o variabila, insa nu dorim sa pierdem valoarea initiala. Daca nu am folosi atribuirea m=n, am impartit variabila n la 10 pana cand valoarea acesteia ar deveni 0 si evident nu am mai sti care a fost valoarea initiala. Utilizand insa atribuirea m=n, valoarea lui n ramane nealterata.
– Urmeaza o instructiune while care contine doua instructiuni de atribuire compusa (in prima se adauga la s ultima cifra a lui m, iar in a doua se trunchiaza m de ultima cifra); aceste instructiuni se repeta pana cand m va avea valoarea 0 ;
– Se afiseaza rezultatul folosind o functie Console.WriteLine(); se vor afisa valorile retinute de variabilele n si s.

Category: Uncategorized

Your email address will not be published. Required fields are marked *

*