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

Sa se scrie un program care primeste ca parametri de intrare doua numere naturale a, b si afiseaza „DA" in cazul in care ambele numere sunt pare si „NU" daca cele doua numere sunt impare. In cazul in care un numar este par si celalalt impar, se va afisa suma lor.

Numerele a si b vor fi generate aleator si vor fi cuprinse intre 0 si 99.

Răspunsuri la întrebare

Răspuns de Apollyon
0

Răspuns:

#include <stdio.h>

#include <stdlib.h>

// funcția returnează 1 dacă ambele numere sunt pare și 0 altfel

static int ambele_nr_pare(int a, int b) {

 return a % 2 == 0 && b % 2 == 0 ? 1 : 0;

}

// funcția returnează 1 dacă ambele numere sunt impare și 0 altfel

static int ambele_nr_impare(int a, int b) {

 return a % 2 != 0 && b % 2 != 0 ? 1 : 0;

}

int main() {

 // generăm random cele două numere

 srand(time(NULL));

 int a = rand() % 100, b = rand() % 100;

 // afișăm numerele (opțional, mai mult pentru a testa dacă rand( ) returnează valori corecte)

 printf("a = %d\nb = %d\n", a, b);

 // dacă ambele numere sunt pare

 ambele_nr_pare(a, b) == 1

     // afișăm DA

     ? printf("DA\n")

     // dacă nu sunt pare verificăm dacă ambele sunt impare, dacă sunt impare

     : ambele_nr_impare(a, b) == 1

           // afișăm NU

           ? printf("NU\n")

           // dacă ambele numere nu sunt nici impare și nici pare afișăm suma lor

           : printf("Suma numerelor %d si %d este %d\n", a, b, a + b);

 return 0;

}

Alte întrebări interesante