Cod sursa(job #770367)

Utilizator andrei.tafaDincu Andrei - Marius andrei.tafa Data 22 iulie 2012 19:39:01
Problema Text Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.98 kb
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <math.h>
int main()
{
    FILE *f = fopen("text.in","rt");
    if (!f) return 0;
    FILE *g = fopen("text.out","wt");
    if (!g) {
            fclose(f);
            return 0;
            }
    char *sir = (char *)calloc(1000000,sizeof(char));
    if (!sir) {
                fclose(f);
                fclose(g);
                return 0;
                }
    char *temp = (char*)calloc(50,sizeof(char));
    if (!temp) {
                fclose(f);
                fclose(g);
                free(sir);
                }
    int k = 0;
    int suma = 0;
    fgets(sir,1000000,f);
    temp = strtok(sir,"-,.;!~ ?");
    while (temp)
        {
        k++;
        suma += strlen(temp);
        temp = strtok(NULL,"-,.;!~ ?");
        }
    float media;
    if (k-1 > 0 ) media = floor((suma-1)/(k-1));
    else media = 0;
    fprintf(g,"%i",(int)media);
    free(sir);
    free(temp);
    fclose(f);
    fclose(g);
    return 0;
}