Problem 1
Sa se scrie un program care citeste doua valori reale ( a, b) si un caracter reprezentand un operator ( +, -, *) si efectueaza calculul indicat de acest operator cu valorile citite in variabilele a si b. Se afiseaza rezultatul.
#include <stdio.h>
#include <conio.h>
void main() {
// declarare si initializare variabile
float a = 0, b = 0, rezultat = 0;
char operatie = ' ';
// citeste primul numar
printf("Nr. 1: ");
scanf("%f", &a);
// citeste al doilea numar
printf("Nr. 2: ");
scanf("%f", &b);
// citire operator
printf("op= ");
operatie = _getch();
printf("%c", operatie);
// calculare rezultat in functie de operator
switch (operatie) {
case '+':
rezultat = a + b;
break;
case '-':
rezultat = a - b;
break;
case '*':
rezultat = a * b;
break;
default:
printf("Operator nedefinit!\n");
break;
}
printf("\n");
// afisare rezultat
if (operatie == '+' || operatie == '-' || operatie == '*') {
printf("%.2f %c %.2f = %.2f\n", a, operatie, b, rezultat);
}
else {
printf("Nu se poate efectua operatia!\n");
}
_getch();
}
Problem 2
Sa se scrie un program ce stabileste daca un numar n intreg este sau nu prim.
#pragma once
// returneaza 1 daca numarul este prim, 0 altfel
int estePrim(int *numar);
int estePrim(int *numar) {
int divizor = 0;
for (divizor = 2; divizor <= (int)sqrtf(*numar); divizor++) {
if ((*numar) % divizor == 0) {
// am gasit un divizor propriu
return 0;
}
}
return 1;
}
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include "chapter3-problem2.h"
void main() {
// declarare si initializare numar
int numar = 0;
// citire numar
printf("numar= ");
scanf("%d", &numar);
// determinare daca este prim
if (estePrim(&numar)) {
printf("Numarul %d este prim.\n", numar);
}
else {
printf("Numarul %d NU este prim.\n", numar);
}
_getch();
}
Problem 3
Sa se calculeze suma primelor n numere naturale.
#include <stdio.h>
#include <conio.h>
void main() {
// declarare si initializare variabile
int nr = 0, i = 0;
long suma = 0;
// citire numar
printf("Numar: ");
scanf("%d", &nr);
// calculare suma
suma = (nr * (nr + 1)) / 2;
// afisare suma
printf("Suma primelor %d numere naturale este: %d\n", nr, suma);
_getch();
}
Problem 4
Sa se scrie un program in C pentru calcularea valorii n!. n se citeste de la tastatura.
#include <stdio.h>
#include <conio.h>
void main() {
// declarare si initializare variabile
int nr = 0, i = 0;
long long fact = 1;
// citire numar
printf("nr= ");
scanf("%d", &nr);
if (nr > 0) {
// calculare factorial
for (i = 2; i <= nr; i++) {
fact *= i;
}
printf("%d! = %d\n", nr, fact);
}
else {
printf("Nu se poate efectua operatia. (numarul este negativ)\n");
}
_getch();
}
Problem 5
Sa se scrie un program in C pentru calcularea sumei primelor n numere naturale. n se citeste de la tastatura.
#include <stdio.h>
#include <conio.h>
void main() {
// declarare si initializare variabile
int nr = 0, i = 0;
long suma = 0;
// citire numar
printf("nr= ");
scanf("%d", &nr);
// calculare suma
suma = (nr * (nr + 1)) / 2;
// afisare suma
printf("Suma este: %d\n", suma);
_getch();
}