Page 373 - Programming Microcontrollers in C
P. 373
358 Chapter 7 Advanced Topics
int count;
char letter;
}Entry;
int main()
{
int c,characters,i;
Entry letters[LETTERS];
double a,sum;
characters=0;
for(i=0;i<LETTERS;i++)
{
letters[i].count=0;
letters[i].letter=i+’a’;
}
letters[‘z’-’a’+1].letter=’>’;
letters[‘z’-’a’+2].letter=’<‘;
while((c=getchar())!=EOF)
{
c=tolower(c);
if(isalpha(c)||c==’ ‘||c==’\n’)
{
characters++;
if(c>=’a’&&c<=’z’) /* count the letters */
letters[c-’a’].count++;
else if(c==’ ‘)
letters[‘z’-’a’+1].count++; /* count the spaces */
else if(c==’\n’)
letters[‘z’-’a’+2].count++; /* count the new lines */
}
}
/* got all of the data in and processes, print it out */
shellsort(letters,LETTERS);
printf(“\n\n”);
printf(“Char Frequency Char