Informatică, întrebare adresată de musatmadalina659, 8 ani în urmă

Scrieți un program care determină suma cifrelor unui nr natural x citit de la tastatura. Ex:n=7,S=11+13+25+(-3)+0+127+5
În structura repetitiva cu test final vă rog

Răspunsuri la întrebare

Răspuns de ionatanferariu
1

Răspuns:

Nu știu ce exemplu ai dat tu acolo, dar cu siguranță nu este ceva corect!

Suma cifrelor înseamnă să iei fiecare cifră și să o aduni cu cifra care o precedă. De exemplu, pentru numărul 1234 suma cifrelor este 1+2+3+4 = 10.

Pentru a putea scrie un program, este nevoie să ne gândim, mai întâi, cum putem face asta. Cea mai simplă metodă este aceea de a extrage succesiv fiecare cifră a numărului și de a o aduna la sumă. Vom extrage de la "coada" numărului, pentru simplitate.

Operația prin care extrag ultima cifră este x % 10. Operatorul "%" determină restul unui număr, adică numărul de după virgulă. De exemplu, 123:10 = 12,3 dar 123%10 = 3.

Mai simplu, spunem că cu această operație extragem ultima cifră.

După ce am extras ultima cifră (care se poate memora într-o variabilă, să spunem cif = x % 10), trebuie să adunăm variabila c la sumă. Pentru asta, voi utiliza o altă variabilă, s, inițializată cu 0 (pentru că, inițial, suma cifrelor este 0). Deci, practic, adunăm s cu c.

Apoi trebuie să tăiem ultima cifră (pentru că deja am folosit-o), și să trecem la următoarea, repetând pașii de mai sus.

Structură repetitivă cu test final înseamnă să verifici condițiile la final. O astfel de structură este do... while();

int x, s = 0, c;

cin >> x;

do{

c = x % 10;

s = s + x % 10;

x = x / 10; //operatia prin care tai cifra folosita

while(x != 0);

cout << s;

Sper că te-am ajutat!


musatmadalina659: Eu aveam nevoie gen să îmi încadrezi exemplul dat în structura repetitiva cu test final ,apreciez oricum că ai răspuns
Alte întrebări interesante