//////////////////////////////// /// Vote1 - David A. Wheeler /// /// http://www.dwheeler.com /// //////////////////////////////// #include #include int main () { int Input; unsigned long total=0; unsigned long bush=0; unsigned long kerry=0; unsigned long nader=0; unsigned long other=0; while ((Input=getchar())!=EOF) { unsigned char Vote=Input; if (!isspace(Vote)) { total+=1; if (isupper(Vote)) { switch(Input) { case 'B': bush += 1; break; case 'K': kerry += 1; break; /* Enumerate the letters for speed. Note that the used letters 'B', 'K', and 'N' aren't in this list */ case 'A': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': other += 1; case 'N': nader += 1; } } else { other += 1; /* Not upper case, not whitespace */ } } } printf("Kerry: %d\n",kerry); printf("Bush: %d\n",bush); printf("Nader: %d\n",nader); printf("Other: %d\n",total-kerry-nader-bush); return 0; }