1. Sa se scrie programul care rezolva ecuatzia de gradul I.

#include <stdio.h>
#include <conio.h>

void main(){
   float a,b,x;
   clrscr();
   printf(" a= ");scanf("%f",&a);
   printf(" b= ");scanf("%f",&b);
   if (a!=0){
      x=-b/a;
      printf("x= %f",x);
   }
   else
      printf("Nedeterminare ");
   getch();
}


  2. Sa se scrie programul care rezolva ecuatia de gradul II.

#include <stdio.h>
#include <conio.h>
#include <math.h>

void main(){
   float a,b,c,x1,x2,delta;
   clrscr();
   printf(" a= ");scanf("%f",&a);
   printf(" b= ");scanf("%f",&b);
   printf(" c= ");scanf("%f",&c);
   delta=b*b-4*a*c;
   if (delta<0)
      printf("\nSolutziile sunt numere complexe");
   else
      if (delta==0){
         x1=x2=-b/2*a;
         printf("\n x1=x2= %f",x1);
      }
      else{
         x1=(-b+sqrt(delta))/(2*a);
         x2=(-b-sqrt(delta))/(2*a);
         printf("\n x1= %f",x1);
         printf("\n x2= %f",x2);
      }
      getch();
}


  3. Sa se scrie un program care calculeaza factorialul unui numar introdus de la tastatura.

  Metoda I: Functzia "fact" calculeaza factorialul.

#include <stdio.h>
#include <conio.h>

int fact(int n){
   int f=1;
   if (n==0)
      return 1;
   do{
      f*=n;
      n--;
   }
   while(n>0);
   return f;
}

void main(){
   int nr;
   clrscr();
   printf("\n Introduceti numarul: ");
   scanf("%d",&nr);
   printf(" %d factorial este %d",nr,fact(nr));
   getch();
}

  Metoda II:Se foloseshte instructziunea "for".

#include <stdio.h>
#include <conio.h>

void main(){
   int n,fact,i;
   clrscr();
   printf("Introducetzi numarul: ");scanf("%d",&n);
   if (n==0)
      printf("Factorialul este 1");
   else {
      fact=1;
      for (i=1;i<=n;i++)
         fact*=i;
      printf("Factorialul este %d",fact);
   }
   getch();
}

  Metoda III: Se foloseshte instructziunea "while".

#include <stdio.h>
#include <conio.h>

void main(){
   int nr,m,fact;
   clrscr();
   printf("\n Introduceti numarul: ");
   scanf("%d",&nr);
   m=nr;
   if (nr==0)
      fact=1;
   else{
      fact=1;
      while (nr>0){
        fact*=nr;
         nr--;
      }
   }
   printf("\n %d factorial este %d",m,fact);
   getch();
}

  Metoda IV: Se foloseshte o functzie recursiva.

#include <stdio.h>
#include <conio.h>

int fact(int n){
   return n>0 ? fact(n-1)*n:1;
}

void main(){
   int nr;
   clrscr();
   printf("\n Introduceti numarul: ");
   scanf("%d",&nr);
   printf(" %d factorial este %d",nr,fact(nr));
   getch();
}


  4. Se dau doua numere intregi m shi n. Sa se calculeze m*n folosind adunari repetate.

#include <stdio.h>
#include <conio.h>

void main(){
   int m,n,p,i;
   clrscr();
   printf("m= ");
   scanf("%d",&m);
   printf("n= ");
   scanf("%d",&n);
   p=0;
   for (i=0;i<n;i++)
      p+=m;
   printf("%d * %d = %d ",m,n,p);
   getch();
}


  5. Se dau doua numere intregi m shi n. Sa se calculeze m la puterea n (folosind inmultziri repetate).

#include <stdio.h>
#include <conio.h>

void main(){
   int m,n,p,i;
   clrscr();
   printf("m= ");
   scanf("%d",&m);
   printf("n= ");
   scanf("%d",&n);
   p=1;
   for (i=0;i<n;i++)
      p*=m;
   printf("%d la puterea %d = %d ",m,n,p);
   getch();
}


  6. Sa se scrie un program care afisheaza maximumul dintre doua numere intregi introduse de la tastatura.

#include <stdio.h>
#include <conio.h>

void main(){
   int a,b;
   clrscr();
   printf(" a= ");scanf("%d",&a);
   printf(" b= ");scanf("%d",&b);
   if (a>b)
      printf("Maximumul este %d",a);
   else
      printf("Maximumul este %d",b);
   getch();
}


  7. Sa se scrie un program care determina daca un numar introdus de la tastatura este sau nu prim.

#include <stdio.h>
#include <conio.h>

void main(){
   int i,nr,prim;
   clrscr();
   printf("nr= ");scanf("%d",&nr);
   prim=1;
   for (i=2;i<=nr/2;i++)
      if (nr%i==0){
         prim=0;
         break;
      }
   if (prim)
      printf("Numarul este prim. ");
   else
      printf("Numarul nu este prim.");
   getch();
}


  8. Sa se scrie un program care afisheaza primele n numere prime (n>2, n introdus de la tastatura).

#include <stdio.h>
#include <conio.h>

void main(){
   int n,i,j,nr,prim;
   clrscr();
   printf("n= ");scanf("%d",&n);
   printf(" 1 2 ");
   nr=2;
   i=3;
   do{
      prim=1;
      for (j=2;j<=i/2;j++)
         if (i%j==0){
            prim=0;
            break;
         }
      if (prim){
         printf("%2d ",i);
         nr++;
      }
     i++;
   }
   while (nr<n);
   getch();
}


  9. Se dau doua numere naturale a shi b. sa se afle cel mai mare numar de doua cifre folosind cifra unitatzilor de la cele 2 numere date.

#include <stdio.h>
#include <conio.h>

void main(){
   int a,b,numar;
   clrscr();
   printf("a= ");scanf("%d",&a);
   printf("b= ");scanf("%d",&b);
   if (a%10>b%10)
      numar=(a%10)*10+b%10;
   else
      numar=(b%10)*10+a%10;
   printf("Numarul cel mai mare obtzinut din cifrele unitatzilor este: %d",numar);
   getch();
}


  10. Fie n<100 un numar natural. Sa se scrie un program care afisheaza in cuvinte numarul dat. Exemplu: 25 sa se afisheze "douazeci shi cinci".

#include <stdio.h>
#include <conio.h>

int zeci(int n){
   if (n>=90){
      printf("nouazeci ");
      return 1;
   }
   if (n>=80){
      printf("optzeci ");
      return 1;
   }
   if (n>=70){
      printf("saptezeci ");
      return 1;
   }
   if (n>=60){
      printf("saizeci ");
      return 1;
   }
   if (n>=50){
      printf("cincizeci ");
      return 1;
   }
   if (n>=40){
      printf("patruzeci ");
      return 1;
   }
   if (n>=30){
      printf("treizeci ");
      return 1;
   }
   if (n>=20){
      printf("douazeci ");
      return 1;
   }
   switch (n){
      case 19:printf("nouasprezece");
                  break;
      case 18:printf("optisprezece");
                  break;
      case 17:printf("saptesprezece");
                  break;
      case 16:printf("saisprezece");
                  break;
      case 15:printf("cincisprezece");
                  break;
      case 14:printf("paisprezece");
                  break;
      case 13:printf("treisprezece");
                  break;
      case 12:printf("doisprezece");
                  break;
      case 11:printf("unsprezece");
                  break;
      case 10:printf("zece");
                  break;
   }
   return n<10 ;
}

void unitatzi(int n){
   if (n%10!=0 && n>20)
      printf("si ");
   switch (n%10){
      case 9: printf("noua");
                  break;
      case 8: printf("opt");
                  break;
      case 7: printf("sapte");
                  break;
      case 6: printf("sase");
                  break;
      case 5: printf("cinci");
                  break;
      case 4: printf("patru");
                  break;
      case 3: printf("trei");
                  break;
      case 2: printf("doi");
                  break;
      case 1: printf("unu");
                  break;
   }
}

void main(){
   int n;
   clrscr();
   printf("Numarul trebuie sa fie mai mic decat 100\n");
   printf("n=");scanf("%d",&n);
   if (n==0)
      printf("zero");
   else
      if (zeci(n))
         unitatzi(n);
getch();
}


  11. Se da un vector de n elemente numere intregi, n<=100. Sa se tipareasca valoarea maxima din vector.

#include <stdio.h>
#include <conio.h>

void main(){
   int n,i,max,v[100];
   clrscr();
   printf("n = ");scanf("%d",&n);
   for (i=0;i<n;i++){
      printf("v[%d]= ",i);
      scanf("%d",&v[i]);
   }
   max=v[0];
   for (i=1;i<n;i++)
      if (v[i]>max)
         max=v[i];
   printf("\nMaximul este: %d",max);
   getch();
}


  12. Se da un vector de n elemente numere intregi, n<=100. Sa se tipareasca valoarea minima din vector.

#include <stdio.h>
#include <conio.h>

void main () {
   int n,i,min,v[100];
   clrscr();
   printf("n = ");scanf("%d",&n);
   for (i=0;i<n;i++){
      printf("v[%d]= ",i);
      scanf("%d",&v[i]);
   }
   min=v[0];
   for (i=1;i<n;i++)
      if (v[i]<min)
         min=v[i];
   printf("\nMinimul este: %d",min);
   getch();
}


  13. Sa se scrie un program care face suma elementelor unui vector de n elemente, numere intregi.

#include <stdio.h>
#include <conio.h>

void main(){
   int n,i,suma,v[100];
   clrscr();
   printf("n= ");scanf("%d",&n);
   for (i=0;i<n;i++){
      printf("v[%d]=",i);
      scanf("%d",&v[i]);
   }
   suma=0;
   for (i=0;i<n;i++)
      suma+=v[i];
   printf("\nSuma elementelor este: %d",suma);
   getch();
}


  14. Sa se scrie un program care calculeaza media aritmetica a n numere.

#include <stdio.h>
#include <conio.h>

void main() {
   int i,n,v[100];
   float ma,suma;
   clrscr();
   printf("n= ");scanf("%d",&n);
   for (i=0;i<n;i++){
      printf("v[%d]=",i);
      scanf("%d",&v[i]);
   }
   suma=0;
   for (i=0;i<n;i++)
      suma+=v[i];
   ma=suma/n;
   printf("\n Media aritmetica este: %f",ma);
   getch();
}


  15. Se da un vector de n elemente numere intregi, n<=100. Sa se tipareasca elementele pare din vector.

#include <stdio.h>
#include <conio.h>

void main () {
   int n,i,v[100];
   clrscr();
   printf("n = ");scanf("%d",&n);
   for (i=0;i<n;i++){
      printf("v[%d]= ",i);
      scanf("%d",&v[i]);
   }
   printf("\nElementele pare din vector sunt:\n");
   for (i=0;i<n;i++)
      if (v[i]%2==0)
         printf(" %d\n",v[i]);
   getch();
}


  16. Sa se scrie un program care afisheaza elementele impare ale unui vector de dimensiune n<=100.

#include <stdio.h>
#include <conio.h>

void main () {
   int n,i,v[100];
   clrscr();
   printf(" n = ");scanf("%d",&n);
   for (i=0;i<n;i++){
      printf(" v[%d]= ",i);
      scanf("%d",&v[i]);
   }
   printf("\n Elementele impare din vector sunt:\n");
   for (i=0;i<n;i++)
      if (v[i]%2!=0)
         printf("\n %d",v[i]);
   getch();
}


  17. Sa se scrie un program care afisheaza numerele negative dintr-un vector de dimensiune n<=100, in ordinea inversa a introducerii lor.

#include <stdio.h>
#include <conio.h>

void main(){
   int n,v[100],i;
   clrscr();
   printf(" n= ");
   scanf("%d",&n);
   for (i=0;i<n;i++){
      printf("v[%d]=",i);
      scanf("%d",&v[i]);
   }
   printf("\n Elementele negative in ordine inversa sunt: ");
   for (i=n;i>=0;i--)
      if (v[i]<0)
         printf(" \n%d",v[i]);
   getch();
}


  18. Sa se scrie un program care afisheaza numarul de vocalele dintr-un vector de dimensiune n.

#include <stdio.h>
#include <conio.h>
#include <process.h>

void main () {
   int n,i,nr;
   char v[100];
   clrscr();
   printf("n = ");scanf("%d",&n);
   for (i=0;i<n;i++){
      printf("v[%d]= ",i);
      scanf("%s",&v[i]);
   }
   nr=0;
   for (i=0;i<n;i++)
      if (v[i]=='a' || v[i]=='e' || v[i]=='i' || v[i]=='o' || v[i]=='u')
         nr++;
   printf("\nIn vector se gasesc %d vocale",nr);
   getch();
}