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:
// 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.