// 所有的输入字符可以分成12类,因此可以用一个数组存放各个数字出现的次数,这样比使用10个独立的变量更方便。#include<stdio.h>/* 统计各个数字,空白符及其他字符出现的次数 */intmain(){int c, i, nwhite, nother;int ndigit[10];
nwhite = nother =0;for(int i =0; i <10;++i)
ndigit[i]=0;while((c =getchar())!=EOF)if(c >='0'&& c <='9')++ndigit[c-'0'];elseif(c ==' '|| c =='\n'|| c =='\t')++nwhite;else++nother;printf("digits = ");for(int i =0; i <10;++i)printf(" %d", ndigit[i]);printf(", white space = %d, other = %d\n", nwhite, nother);return0;}// 将变量 ndigit 声明为由10个整型数构成的数组。int ndigit[10];// 判断一个字符是数字、空白符还是其他字符的功能可以由下列语句序列完成if(c >='0'&& c <='9')++ndigit[c-'0'];elseif(c ==' '|| c =='\n'|| c =='\t')++nwhite;else++nother;