任务和代码:请分别编制程序,完成下面的处理:
(1)统计字母'A'出现的次数;
(2)统计字符串中(大/小写)字母个数;
(3)统计每一个元音字母个数
(4)统计每一个数字字符出现的次数;
提示:可以定义一个数组int a[10],保存’0’-’9’在字符串中出现的次数(例a[0]表示字符’0’的个数)
(1)统计字母'A'出现的次数;
(2)统计字符串中(大/小写)字母个数;
(3)统计每一个元音字母个数
(4)统计每一个数字字符出现的次数;
提示:可以定义一个数组int a[10],保存’0’-’9’在字符串中出现的次数(例a[0]表示字符’0’的个数)
(5)统计每一个字母出现的个数
/*
文件名:main.c
作者:小风景
完成日期:2016.7.7
问题描述:请分别编制程序,完成下面的处理:
(1)统计字母'A'出现的次数;
(2)统计字符串中(大/小写)字母个数;
(3)统计每一个元音字母个数
(4)统计每一个数字字符出现的次数;
提示:可以定义一个数组int a[10],保存’0’-’9’在字符串中出现的次数(例a[0]表示字符’0’的个数)
(5)统计每一个字母出现的个数
程序输出:
*/
#include <stdio.h>
void count(char str[]);
void countletter(char str[]);
void countaoieu(char srt[]);
void countnumber(char str[]);
void countallletter(char str[]);
int main()
{
char str[50];
int i=0,n=0;
printf("输入字符串:");
gets(str);
while(str[i]!='\0')
{
if(str[i]>='0'&&str[i]<='9') n++;
i++;
}
printf("其中的数字个数是: %d\n", n);
count(str);
countletter(str);
countaoieu(str);
countnumber(str);
countallletter(str);
return 0;
}
void count(char str[])
{
int i = 0;
int n = 0;
while(str[i] != '\0')
{
if(str[i] == 'A')
{
n++;
}
i++;
}
printf("字母'A'出现的次数:%d\n",n);
}
void countletter(char str[])
{
int i = 0;
int n = 0;
while(str[i] != '\0')
{
if((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z'))
{
n++;
}
i++;
}
printf("字符串中(大/小写)字母个数:%d\n",n);
}
void countaoieu(char str[])
{
char letter[6] = {'a','e','i','o','u'};
int number[5] = {0};
int i = 0;
while(str[i] != '\0')
{
switch(str[i])
{
case 'a':
number[0]++;
break;
case 'e':
number[1]++;
break;
case 'i':
number[2]++;
break;
case 'o':
number[3]++;
case 'u':
number[4]++;
break;
default:
break;
}
i++;
}
for(i = 0;letter[i] != '\0';i++)
{
printf("元音字母%c的个数为:%d\n",letter[i],number[i]);
}
}
void countnumber(char str[])
{
char number[10] = {0};
int i = 0;
while(str[i] != '\0')
{
number[str[i] - '0']+=1;
i++;
}
for(i = 0; i < 10;i++)
{
printf("数字字符%d出现的次数:%d\n",i,number[i]);
}
}
void countallletter(char str[])
{
int number[26] = {0};
int i = 0;
while(str[i] != '\0')
{
if(str[i] > 'A' && str[i] < 'Z')
{
str[i] += 32;
}
if(str[i] > 'a' && str[i] < 'z')
{
number[str[i] - 'a']++;
}
i++;
}
for(i = 0;i < 26;i++)
{
printf("字母%c出现的次数是:%d\n",i+97,number[i]);
}
}
程序运行结果:
总结:这个程序中有一个不足的地方实在统计大小写字符函数中,大小写字符应该分开统计,而不应该一起统计。