#include <stdio.h> void main(void) { char linie[80]; int zi, luna, an; while (gets(linie)!=NULL) if (sscanf(linie, "%d/%d/%d", &zi, &luna, &an)==3) printf("%s\n", linie); }
#include <stdio.h> #include <math.h> void main(void) { double suma=0, valoare; while(1) { printf("\nDati un numar: "); if (scanf("%lf", &valoare)==EOF) break; printf("\t %.3lf\n", suma+=fabs(valoare)); } }Observatie: Unii autori recomanda, pe cât posibil, evitarea unei bucle while(1) si iesirea prin instructiunea break, deoarece prin aceasta practica se distruge lizibilitatea programelor. Conditia de iesire din bucla e bine sa apara ca si conditie pentru while, chiar daca aceasta înseamna lungirea cu 2-3 linii a secventei.
#include <stdio.h> #include <stdlib.h> #include <ctype.h> #define N 15 void main(void) { char c; /* caracterul citit la un moment dat */ char s[20]; /* buffer cu caract. ce compun un numar */ int numere[N]; /* tablou cu numerele citite */ int i=0, j=0; c=getchar(); while (c!=EOF) if (isdigit(c)) /* incepe un numar */ { i=0; s[i++]=c; while (isdigit(c=getchar())) s[i++]=c; s[i]='\0'; numere[j++]=atoi(s); } else c=getchar(); /* afisarea numerelor */ for (i=0; i<j; i++) printf("\n %6d", numere[i]); }Observatie: Pentru a testa daca un caracter este cifra s-a folosit functia isdigit() declarata în fisierul antet ctype.h (va fi prezentata în capitolele urmatoare). Dupa ce s-au citit caracterele corespunzatoare unui numar, folosind functia atoi se face conversia în numarul întreg corespunzator. Numerele întâlnite în cadrul textului se memoreaza în tabloul numere.