14 Aug 2012

Introducere C - probleme rezolvate

Salut prieteni,
astăzi începem să scriem primele noastre progrămele în C folosind noțiunile învățate anterior. Nu este greu deloc, totul este logic.

Vom trata trei probleme

1. Se citește de la tastatură un număr natural, în baza 10. Să se afișeze numărul în bazele 8, 10 si 16.

// includem libraria pentru a putea folosi functiile printf si scanf
#include<stdio.h>
int main(){
   int numar = 0; // declaram si initializam variabila in care vom salva numarul citit
   printf("Introduceti numarul: "); scanf("%d",&numar); // citirea de la tastatura
   printf("Baza 8: %o Baza 10: %d Baza 16: %X\n",numar, numar, numar);
   // am facut afisarea; la final am adaugat caracterul '\n' pentru a trece pe o linie noua 
   return 0;
}

2. Să se determine maximul și minimul dintre două numere întregi, citite de la tastatură.

#include<stdio.h>
int main(){
   int a = 0, b = 0; // declaram si initializam variabilele in care vom salva numarele citite

   // citirea de la tastatura
   printf("a="); scanf("%d",&a);
   printf("b="); scanf("%d",&b);

   // acum decizia
   if (a > b) {
      printf("Maximul este %d, iar minul este %d\n",a,b);
   }
   else if (b > a){
      printf("Maximul este %d, iar minul este %d\n",b,a);
   }
   else {
      printf("Numere sunt egale\n");
   }
   // am facut afisarea; la final am adaugat caracterul '\n' pentru a trece pe o linie noua
   return 0;
}

3. Fiind date 2 numere întregi, să se calculeze media lor aritmetică, geometrică și armonică.

#include<stdio.h>
#include<math.h>
int main(){
   // declaram si initializam variabilele in care vom salva numarele citite
   int a = 0, b = 0;
   float m_aritm, m_geom, m_arm;
 
// citirea de la tastatura
   printf("a="); scanf("%d",&a);
   printf("b="); scanf("%d",&b);

   m_aritm = (a + b) / 2.;
   m_geom =  sqrt(a * b);
   m_arm = (2. * a * b) / (a + b);
   /*
   * observati ca am folosit notatia 2. astfel incat
   * compilatorul sa stie ca vrem un rezultat de tip real (cu virgula)
   */

   printf("Media aritmetica: %f Media geometrica: %f Media armonica: %f\n",m_aritm, m_geom, m_arm);

   return 0;
}

Asta a fost pentru azi, până data viitoare eu vă doresc numai bine!

No comments:

Post a Comment