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

Sa se scrie un program C in care utilizatorul trebuie sa introduca un text de forma " Eu am X ani" si sa se afiseze mai apoi varsta( ca numar) a utizatorului.
De ex:
Input: Eu am 19 ani.
Afisare: 19

Răspunsuri la întrebare

Răspuns de VxF
3

Răspuns:

// 1. presupunem că șirul introdus va fi întotdeauna de forma „Eu am ??? ani.\n”, deci vârsta începe pe caracterul 6 numărat de la stânga începând cu 0 și se termină pe caracterul 6 numărat de la dreapta începând cu 0

#include <stdio.h>

#include <string.h>

void main()

{

   char sir[100], varsta[100];;

   fgets(sir, sizeof(sir), stdin);

   strncpy(varsta, sir + 6, strlen(sir) - 6 - 6);

   printf("%s\n", varsta);

}

// 2. presupunem că șirul introdus va fi întotdeauna de forma „Eu am ??? ani.”, deci vârsta va fi al 3-lea cuvânt

#include <stdio.h>

void main()

{

   char varsta[100], bla[100];

   scanf("%s%s%s%s\n", bla, bla, varsta, bla);

   printf("%s\n", varsta);

}

//3. parcurgem șirul și extragem cifrele calculând vârsta; ne oprim după ce un grup de cifre a rezultat vârstă mai mare decât 0

#include <stdio.h>

#include <math.h>

void main()

{

   char sir[100];

   int varsta = 0;

   fgets(sir, sizeof(sir), stdin);

   for (int i = 0; sir[i]; i++) {

       if (sir[i] >= '0' && sir[i] <= '9') {

           varsta = varsta * 10 + (sir[i] - '0');

       } else if (varsta) {

           break;

       }

   }

   printf("%d\n", varsta);

}

Explicație:

Alege varianta care corespunde capitolului studiat.

Alte întrebări interesante