编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。

题目:编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
根据题目要求,来编写程序。
首先,确定主函数部分。其中d=digit数字、s=space空格、l=letter字母、o=other其他字符。

#include<stdio.h>
int d,s,l,o;   //全局变量 
int main()
{
	char a[100];
	printf("请输入一个字符串:");
	gets(a);
	void count(char s1[]);
	d=0;
	s=0;
	o=0;
	l=0; 
	count(a);  
	printf("该字符串中有,数字:%d个,空格%d个,字母%d个,其他字符%d个",d,s,l,o);
	return 0; 
}

注意:因为返回值涉及多个值,故在设计程序当中我们将,数字(digit)、空格(space)、字母(letter)、其他字符(other)变量定义为全局变量
清楚这点后,我们来编写子函数。

void count(char s1[])
{
	int i;
	for(i=0;s1[i]!='\0';i++)
	{
		if(s1[i]>='0'&&s1[i]<='9')
			d++;
		else if(s1[i]==' ')
			s++;
		else if((s1[i]>='a'&&s1[i]<='z')||(s1[i]>='A'&&s1[i]<='Z'))
		    l++;
		else 
		    o++;
	}
}

这样程序就编写完成,我们来试运行一下。
运行图
下面是完整程序。

#include<stdio.h>
int d,s,l,o;   //全局变量 
int main()
{
	char a[100];
	printf("请输入一个字符串:");
	gets(a);
	void count(char s1[]);
	d=0;
		s=0;
		o=0;
		l=0; 
	count(a);  
	printf("该字符串中有,数字:%d个,空格%d个,字母%d个,其他字符%d个",d,s,l,o);
	return 0; 
}
void count(char s1[])
{
	int i;
	for(i=0;s1[i]!='\0';i++)
	{
		if(s1[i]>='0'&&s1[i]<='9')
			d++;
		else if(s1[i]==' ')
			s++;
		else if((s1[i]>='a'&&s1[i]<='z')||(s1[i]>='A'&&s1[i]<='Z'))
		    l++;
		else 
		    o++;
	}
}

希望对大家有所帮助!

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年12月19日
下一篇 2023年12月20日

相关推荐