输入一段字符串,分别统计其中的大写英文字母,小写英文字母,数字,空格及其他字符的个数
我们都知道怎么写
#include <stdio.h>
void main()
{
?? ?char str[100];?//定义一个可以储存100个字符的字符串变量
?? ?int i,a=0,b=0,c=0,d=0,e=0;//定义整型变量
?? ??? ?gets(str);//输入字符串
?? ??? ?for(i=0;str[i]!='\0';i++)//循环;字符串结束的标志是‘\0’
?? ?{
?? ??? ?if(str[i]<='9'&&str[i]>='0')
?? ??? ??? ?a++;
?? ??? ?else if(str[i]<='z'&&str[i]>='a')
?? ??? ??? ?b++;
?? ??? ?else if(str[i]<='Z'&&str[i]>='A')
?? ??? ??? ?c++;
?? ??? ?else if(str[i]==' ')
?? ??? ??? ?d++;
?? ??? ?else e++;
?? ?}
?? ?}
?? ?printf("大写英文字母的个数%d\n",c);
?? ?printf("小写英文字母的个数%d\n",b);
?? ?printf("数字的个数%d\n",a);
?? ?printf("空格的个数%d\n",d);
?? ?printf("其他字符的个数%d\n",e);
}
那么如果要很多行字符串,要怎么写呢?
#include <stdio.h>
void main()
{
?? ?char str[100];?
?? ?int i,a=0,b=0,c=0,d=0,e=0,n;
?? ?for(n=0;n<5;n++)//重点就是这里啦,只要在外部在加一个循环,想要写几行就设置循环几次
?? ?{
?? ??? ?gets(str);
?? ??? ?for(i=0;str[i]!='\0';i++)
?? ?{
?? ??? ?if(str[i]<='9'&&str[i]>='0')
?? ??? ??? ?a++;
?? ??? ?else if(str[i]<='z'&&str[i]>='a')
?? ??? ??? ?b++;
?? ??? ?else if(str[i]<='Z'&&str[i]>='A')
?? ??? ??? ?c++;
?? ??? ?else if(str[i]==' ')
?? ??? ??? ?d++;
?? ??? ?else e++;
?? ?}
?? ?}
?? ?printf("大写英文字母的个数%d\n",c);
?? ?printf("小写英文字母的个数%d\n",b);
?? ?printf("数字的个数%d\n",a);
?? ?printf("空格的个数%d\n",d);
?? ?printf("其他字符的个数%d\n",e);
}
这样就写好啦~