刷题记录6
自定义函数之字符类型统计
题目描述
编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
输入
一行字符串
输出
统计数据,4个数字,空格分开。
代码
#include<stdio.h>
void count(char *p, int *a, int *b, int *c, int *d);//声明自定义函数count
int main()
{
char a[100];
int i, j, k, m;
i = 0;
j = 0;
k = 0;
m = 0;
gets(a);//输入字符串a
count(a, &i, &j, &k, &m);//将实参传入形参
printf("%d %d %d %d\n", i, j, k, m);
}
void count(char *p, int *a, int *b, int *c, int *d)//函数定义
{
int i = 0;
while(p[i] != '\0')//当指针p没有指到最后一个函数时,进行条件判断
{
if (p[i] >= 'a' && p[i] <= 'z' || p[i] >= 'A' && p[i] <= 'Z')//统计字母
{
(*a)++;
}
else if (p[i] >= '0' && p[i] <= '9' )//统计数字
{
(*b)++;
}
else if(p[i] == ' ')//统计空格
{
(*c)++;
}
else//统计其他
{
(*d)++;
}
i++;
}
}
解题思路:首先定义一个自定义函数用来统计主函数传来数据的的字符类型
用while语句进行循环滚动,用if语句判断满足哪项条件。