C语言:找出一段话里面的大写、小写、空格、其他字符的个数
我是一名在校大学生,初次写博客,希望各位大佬不喜勿喷,这个小程序,仅供参考,希望对大家有所帮助。
首先,分析题意,我们需要将一段话里面的大写、小写、空格、其他字符的个数统计出来。
- 我们需要存储一段话,大小为3行,每行有80个字符。每行以换行符为本行存储结束的标识符。
- 设计统计函数,分别写出判断条件,统计大写、小写、空格、其他字符的个数。
#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
*/
希望多多支持呦!