问一下这个程序的流程图?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
void count(char str[])
{
int a, b, c, d;
a = b = c = d = 0;//计数器初始化为0.
char *p;
p = str;
while (*p != NULL)//循环读取字符,到换行结束。
{
if (*p >= '0' &&*p <= '9')//数字
a++;
else if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z'))//字母
b++;
else if (*p == ' ')//空格
c++;
else //其它
d++;
p++;
}
printf("数字:%d\n字母:%d\n空格:%d\n其他字符:%d\n", a, b, c, d);//输出结果。
}
int main()
{
char str[99];
printf("请输字符串:\n");
gets_s(str);
count(str);
system("pause");
return 0;
}

分别统计字符串中数字、字母、空格和其他字符的个数。
读进一个字符串,先判断第一位字符是不是数字,如果是数字,a的值加一;如果不是数字,再判断是不是字母,如果是字母,b的值加一;如果也不是字母,再判断是不是空格,如果是空格,c的值加一;如果都不是,那么d的值加一。然后判断下一个字符,直到判断了所有的字符之后,输出abcd的值。