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(); }
|