源程序:
#include <stdio.h>
int main(){
int n;
int blank,digit,specialty,i;
char ch;
blank=digit=specialty=0;
printf("please insert an n\n");
scanf("%d",&n);
getchar();
//取消scanf在缓存区内读入换行符
printf("please insert %d characters\n",n);
for(i=1;i<=n;i++){
ch=getchar();
switch(ch){
case'\n':blank++;break;
case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':digit++;break;
//因为case后应加常量表达式,故不可以设置一个变量在case中判断是不是0~9
default:specialty++;break;
}
}
printf("blank=%d,digit=%d,specialty=%d",blank,digit,specialty);
return 0;
}
运行结果