重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以使用以下代码进行统计:
创新新互联,凭借十年的成都网站设计、成都网站制作经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有1000多家案例。做网站建设,选创新互联。
#include
main()
{undefined
int acount=0,bcount=0,ccount=0,dcount=0;
char a;
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所指的数组中。
#includestdio.h
#includestring.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;istrlen(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]);
}
思路:统计字母有两种方式:
1.每次输入一个字符,并判断是否是字母,直到回车退出。
//参考代码:
#includestdio.h
int main()
{
char c;
int num=0;
while((c=getchar())!='\n')
{
if(('A'=cc='Z')||('a'=cc='z'))
num++;
}
printf("%d",num);
return 0;
}
/*
运行结果:
adf adsfasdf
11
*/
2.定义一个字符数组,一次输入,最后遍历该字符数组,统计字母个数。
//参考代码
#includestdio.h
#includestring.h
int main()
{
char ch[100];
gets(ch);
int num=0,i;
for(i=0;istrlen(ch);i++)
if(('A'=ch[i]ch[i]='Z')||('a'=ch[i]ch[i]='z'))
num++;
printf("%d",num);
return 0;
}
/*
运行结果:
adf adsfasdf
11
*/
#include
stdio.h
int
main(){
char
input[256]={0};//存储输入要足够大
int
i=0,count=0;
printf("请输入字符串:\n");
scanf("%s",input);
while(input[i]!='\0')
{
if(input[i]='A'
input[i]='Z')
{
count++;
}
i++;
}
printf("大写字母有%d个\n",count);
return
0;}
功能:按你要求写的,输入句子存入链表,统计字母个数。
#includestdio.h
#includemalloc.h
typedef struct word
{
char c;
struct word *next;
}WD;
int newWD(WD *wdHead,WD *wdTail)//输入字符存入链表 返回输入个数 参数:链表头指针 尾指针
{
static int count;
char c;
scanf("%c",c);
if(c=='\n')
return 0;
WD *wdNew=(WD *)malloc(sizeof(WD));
wdNew-c=c;
wdNew-next=NULL;
if(wdHead-next==NULL)
{
count=0;
wdHead-next=wdTail=wdNew;
}
else
{
wdTail-next=wdNew;
wdTail=wdNew;
}
if((c='A' c='Z')||(c='a' c='z'))
count++;
newWD(wdHead,wdTail);
return count;
}
int main()
{
int count;
WD *wdHead=(WD *)malloc(sizeof(WD));
wdHead-next=NULL;
WD *wdTail=NULL;
count=newWD(wdHead,wdTail);
printf("输入的句子为:\n");
while(wdHead-next!=NULL)
{
printf("%c",wdHead-next-c);
wdHead=wdHead-next;
}
printf("\n");
printf("输入的字母个数为:%d个\n",count);
return 0;
}