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

Elevii clasei a V-a se repartizează în clase câte 25 în ordinea mediilor clasei a IV-a. Radu este pe locul x (1<=x<=125) în ordinea mediilor, x se citește de la tastatură. Elaborați un poagram prin intermediul căruia se va determina în ce clasă va fi repartizat (A,B,C,D su E)?. Exemplu: date de intrare – x=73; date de ieșire – C.VA ROG IN LIMBAJUL C

Răspunsuri la întrebare

Răspuns de andreidamian604
0

nu știu limbajul C, dar cam asta este ideea problemei

daca x <25 afișezi A

altfel dacă x < 50 afișezi B

altfel dacă x < 75 afișezi C

altfel dacă x < 100 afișezi D

altfel afișezi E

< înseamnă mai mic

succes la implementare


sebstipro: mersi mult dar problema este ca nici eu nu știu limbajul C
Răspuns de VxF
1

Răspuns 1 — transcrierea pseudocodului furnizat de andreidamian604:

#include <stdio.h>

void main()

{

   int x;

   scanf("%d", &x);

   if (x < 25) printf("A");

   else if (x < 50) printf("B");

   else if (x < 75) printf("C");

   else if (x < 100) printf("D");

   else printf("E");

}

Verificare:

bash-5.1$ for i in {1..125}; do ./repartizare_clase.out <<< "$i"; echo; done | uniq -c

    24 A

    25 B

    25 C

    25 D

    26 E

De observat că repartizarea nu este uniformă. O mică ajustare la algoritmul lui andreidamian604 ar fi folosirea <= pentru comparaţii în loc de <.

Răspuns 2 — calcul simplu:

#include <stdio.h>

void main()

{

   int x;

   scanf("%d", &x);

   printf("%c\n", (x - 1) / 25 + 'A');

}


sebstipro: poți te rog sa mă ajuți și la restul problemelor ?
Alte întrebări interesante