可以捂执涡扔使用以下代码进行统计:
#include
main()
{undefined
intacount=0荑樊综鲶,bcount=0,ccount=0,dcount=0;
chara;
printf("请输入一行字符:\n");
a=getchar();
while(a!='\n')
{undefined
switch(a)
{undefined
case'q':
case'w':
case'e':
case'r':
case't':
case'y':
case'u':
case'i':
case'o':
case'p':
case'a':
case's':
case'd':
case'f':
case'g':
case'h':
case'j':
case'k':
case'l':
case'z':
case'x':
case'c':
case'v':
case'b':
case'n':
case'm':
case'Q':
case'W':
case'E':
case'R':
case'T':
case'Y':
case'U':
case'I':
case'O':
case'P':
case'A':
case'S':
case'D':
case'F':
case'G':
case'H':
case'J':
case'K':
case'L':
case'Z':
case'X':
case'C':
case'V':
case'B':
case'N':
case'M':
acount++;break;
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
case'0':
bcount++;break;
case'':
ccount++;break;
default:
dcount++;break;
}
a=getchar();
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n",acount,ccount,bcount,dcount);
}
分组编写函数:
编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
#include<stdio.h>
#include<string.h>
void fun(char *tt,int pp[]);
void main()
{
char tt[50];
int pp[26]={0};
printf("Input a string:\n");
gets(tt);
fun(tt,pp);
}
void fun(char *tt,int pp[])
{
int i;
for(i=0;i<strlen(tt);i++)
{
if(*(tt+i) >= 'a' && *(tt+i) <= 'z')
pp[*(tt+i)-'a']++;
}
for(i = 0;i < 26;i++)
printf("%c appeared %d times\n",'a'+i,pp[i]);
}