Cod sursa(job #1991133)

Utilizator arcoC. Nicolae arco Data 15 iunie 2017 13:06:00
Problema Text Scor 60
Compilator c Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

int main(void)
{
	FILE *in = fopen("text.in", "r");
	FILE *out = fopen("text.out", "w");

	if(in != NULL && out != NULL)
	{
		int words_number = 0;
		int lungime_totala = 0;

		int current_word_len = 0;
		while(1)
		{
			char current = getc(in);
			if(current == EOF)
			{
				if(current_word_len)
				{
					words_number++;
					lungime_totala += current_word_len;
				}
				break;
			}
			else
			{
				if(current != ' ')
				{
					if(isalpha(current))
					{
						current_word_len++;
					}
				}
				else
				{
					if(current_word_len)
					{
						// printf("word %u has len %u\n", words_number + 1, current_word_len);
						words_number++;
						lungime_totala += current_word_len;
						current_word_len = 0;
					}
				}
			}
		}

		// printf("words: %d\n", words_number);
		// printf("words len: %d\n", lungime_totala);
		if(words_number)
		{
			fprintf(out, "%d\n", lungime_totala / words_number);
		}
		else
		{
			fprintf(out, "0\n");
		}

		fclose(in);
		fclose(out);
	}
	else
	{
		printf("Can't open file(s)\n");
	}

	return 0;
}