C语言:找出一段话里面的大写、小写、空格、其他字符的个数

C语言:找出一段话里面的大写、小写、空格、其他字符的个数

我是一名在校大学生,初次写博客,希望各位大佬不喜勿喷,这个小程序,仅供参考,希望对大家有所帮助。
首先,分析题意,我们需要将一段话里面的大写、小写、空格、其他字符的个数统计出来。

  1. 我们需要存储一段话,大小为3行,每行有80个字符。每行以换行符为本行存储结束的标识符。
  2. 设计统计函数,分别写出判断条件,统计大写、小写、空格、其他字符的个数。

#include <stdio.h>

#define N 3
#define M 80

void Entering(char str[N][M],int n,int m);
void Count(char str[N][M],int n,int m );

int main()
{
	char str[N][M];
	Entering(str,N,M);
	Count(str,N,M);
	return 0;
}
//------------------------输入
void Entering(char str[N][M],int n,int m)
{
	int i,j,k;
	char a;
	printf("请输入str:\n");
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			scanf("%c",&a);
			if(a=='\n')
			{
				for(k=j;k<m;k++)
				{
					str[i][k]='\0';
				}
				break;
			}
			str[i][j]=a;
		}
	}
}
//------------------------统计
void Count(char str[N][M],int n,int m)
{
	printf("----------统计数目----------\n");
	int i,j,n1=0,n2=0,n3=0,n4=0;
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			if(str[i][j]==' ')
				n1++;
			else if(str[i][j]>='A' && str[i][j]<='Z')
				n2++;
			else if(str[i][j]>='a' && str[i][j]<='z')
				n3++;
			else
				n4++;
		}
	}
	printf("空格数量=%d,大写数量=%d,小写数量=%d,其余数量=%d\n",n1,n2,n3,n4);
}
/*
(样例输入:)
Hello World!
I Am 20 Year Old.
I Love China!
(样例输出:)
空格数量=7,大写数量=9,小写数量=21,其余数量=203
*/

希望多多支持呦!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39004632/article/details/84436299