Pagini recente » Cod sursa (job #3221567) | Cod sursa (job #1640236) | Cod sursa (job #1978077) | Cod sursa (job #2947360) | Cod sursa (job #100008)
Cod sursa(job #100008)
//---------------------
// Sandu Octav-Emilian
//---------------------
/*
Text
Dezamagit de rezultatele sale la ultimul concurs,
Paftenie a renuntat la programare si
s-a concentrat strict asupra muncii laborioase,
dar care implica mai putin efort intelectual.
De aceasta data, el primeste un text
si trebuie sa calculeze lungimea medie a cuvintelor textului,
un cuvant fiind definit ca
o secventa continua maximala de caractere ale alfabetului englez
('a' .. 'z' , 'A' .. 'Z').
Definim lungimea medie =
(lungimea totala a cuvintelor textului)
/
(numarul de cuvinte ale textului).
Cerinta
Scrieti un program care ii rezolva problema lui Paftenie.
Date de intrare
Pe prima linie a fisierului de intrare text.in se gaseste textul dat.
Date de iesire
Fisierul de iesire text.out va contine pe prima linie un singur intreg, reprezentand partea intreaga a lungimii medii a cuvintelor textului.
Restrictii si precizari
Dimensiunea fisierului de intrare este de cel mult 1MB
Fisierul de intrare va contine doar litere mari si mici, cifre, spatii si simboluri (adica nu va contine caractere speciale)
Exemplu
text.in text.out
- Lasa-ma in pace, ca am invatat azi noapte toata ziua! 3
*/
#include<stdio.h>
int main(){
int w=0, l=0, co=0, co0=0;
char c;
FILE *fin,*fout;
fin=fopen("text.in","r");
while(fscanf(fin,"%c",&c)!=EOF){
co=(c>64 && c<91) || (c>96 && c<123);
l=l+co;
if(co0!=co){
co0=co;
w=w+co;
}
}
fclose(fin);
fout=fopen("text.out","w");
fprintf(fout,"%d %d %d",l, w, (w?l/w:l));
fclose(fout);
return 0;
}