输入一字符串(该字符串全部由小写字母组成),分别统计字符串中所包含的各个字符的个数。字符串长度不超过50。
输入格式:
输入一个字符串str。
输出格式:
按字母顺序输出每个字母的个数。
样例">输入样例:
aabaddbddd
输出样例:
a=3
b=2
d=5
分析
首先,我们定义了一个长度为51的字符数组str,以及一个长度为26的整型数组count(用于存放每个字母出现的次数)。然后,通过scanf函数获取输入的字符串。使用strlen函数获取输入字符串的长度len。我们遍历字符串str,并使用方括号运算符(数组下标)将字符转为数字做为下标,然后在count数组中对应元素加一。最后,我们遍历整个count数组,如果元素的值大于0,就输出对应的字母以及出现的次数。
#include <stdio.h>
#include <string.h>
int main()
{
char str[51];
int count[26]={0};//存放字母出现的次数
int len,i;
scanf("%s ",str);
len=strlen(str);//字符串的长度
for (i=0;i<len;i++)
count[str[i]-'a']++;
for (i=0;i<26;i++)
{
if (count[i]>0)
printf("%c=%d\n",i+'a',count[i]);
}
return 0;
}
字符串4:字符统计
输入一个字符串S1,统计大写字母,小写字母,数字,空格,以及其他字符出现的次数。字符串长度不超过50。
输入格式:
输入S1。
输出格式:
输出占5行,依次为大写字母,小写字母,数字,空格,以及其他字符出现的次数。
输入样例:
TY2$%1 4*BH bbJoH h352nj&*( &&(gig43
输出样例:
6
9
8
4
9
#include <stdio.h>
int main()
{
char str[51];
int i, d=0,x=0,s=0,k=0,q=0;
gets(str);//输入字符串
for(i=0; str[i]!='\0'; i++)
{
if(str[i]>='A' && str[i]<='Z')//如果是大写字母则字数计数++
d++;
else if(str[i]>='a' && str[i]<='z')//如果是小写字母则字数计数++
x++;
else if(str[i]>='0' && str[i]<='9')//如果是数字则字数计数++
s++;
else if(str[i]==' ')//如果是空格则字数计数++
k++;
else如果是其他字符则字数计数++
q++;
}
printf("%d\n%d\n%d\n%d\n%d\n", d,x,s,k,q);
return 0;
}