13.10.1
#include <stdio.h>
#include <ctype.h>
int control(char ch);
int space(char ch);
int num(char ch);
int low(char ch);
int up(char ch);
int pun(char ch);
int noprint(char ch);
int main(void)
{
int (*pt[7])(char) = {
control, space, num, low, up, pun, noprint};
int sum[7] = {
0};
char str[20];
gets(str);
int i, j = 0;
while(str[j])
{
for(i = 0; i < 7; i++)
sum[i] += pt[i](str[j]);
j++;
}
printf("控制字符有%d\n", sum[0]);
printf("空白字符有%d\n", sum[1]);
printf("数字字符有%d\n", sum[2]);
printf("小写字符有%d\n", sum[3]);
printf("大写字符有%d\n", sum[4]);
printf("标点字符有%d\n", sum[5]);
printf("不可打印字符有%d\n", sum[6]