Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********************************************************************************
- * in questa versione del programma non salviamo il file di *
- * di input ma prendiamo un carattere alla volta. controlliamo *
- * che questo sia valido, se non è una lettera lo scartiamo, se *
- * è EOF il contatore termina. *
- ********************************************************************************/
- #include <stdio.h>
- #define CHAR 26
- #define NOTACHAR 27
- int chartonum(char ch)
- {
- if (ch>='a' && ch <= 'z')
- return ch - 'a';
- if (ch >= 'A' && ch <= 'Z')
- return ch - 'A';
- return NOTACHAR;
- }
- int main(void)
- {
- int ch; float conta=0; long counter[CHAR];
- for(ch=0;ch<26;ch++) counter[ch] = 0;
- while ((ch=getchar()) != EOF)
- {
- if ((ch = chartonum(ch)) <= 25 && ch >= 0)
- counter[ch]++, conta++;
- }
- for(ch=0;ch<26;ch++)
- printf("%c appears %ld times : %.2f%%\n", ch + 'A', counter[ch], ((float)counter[ch])/conta*100);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement