利用数组统计输出的数值
#include <stdio.h>#include <iostream>
int main(void){
int c,i,nwhite,nother;
int ndigit[10];
nwhite=nother=0;
for(i=0;i<10;++i){
ndigit[i]=0;
printf("%d ",ndigit[i]);
}
printf("\n");
while((c=getchar())!=EOF){
if(c>='0' && c<='9')
++ndigit[c-'0'];
else if(c==' '||c=='\n'||c=='\t')
++nwhite;
else
++nother;
}
printf("digits=");
for(i=0;i<10;++i)
printf(" %d",ndigit[i]);
printf(",white space= %d,other= %d\n",nwhite,nother);
system("pause");
return 0;
}
其中if(c>='0' && c<='9')
++ndigit[c-'0'];
对这两条语句不太理解,当输入为:000
890 时,输出结果如下:
digits=1 0 0 0 0 0 0 0 1 1,white space=2,other=3