计算字符个数
本题采用C语言实现,实现思路如下:
1.判断输入字符是大写还是小写;
2.大写字母加32是对应的小写字母,反之相减;
3.判断条件中同时判断是否等于自身,或者等于自己对应的大(小)写;
4.返回个数。
实现代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int gets_num(char *p, char ch);
//接收一个由字母和数字组成的字符串,和一个字符
//然后输出输入字符串中含有该字符的个数
//不区分大小写。
int main()
{
char str[5000];
gets(str);
char ch= getchar();
printf("%d\n",gets_num(str,ch));
return 0;
}
int gets_num(char *p,char ch)
{
int num=0;
if(ch>='0' && ch<='9')//如果是阿拉伯数字
{
for(int i=0;i<strlen(p);i++)
{
if(p[i]==ch)
num++;
}
return num;
}
else if(ch>='A' && ch<='Z')//如果是大写字母
{
for(int i=0;i<strlen(p);i++)
{
if(p[i]==ch || p[i]==ch+32)
num++;
}
return num;
}
else if(ch>='a' && ch<='z')//如果是小写字母
{
for(int i=0;i<strlen(p);i++)
{
if(p[i]==ch || p[i]==ch-32)
num++;
}
return num;
}
}
#include <stdlib.h>
#include <string.h>
int gets_num(char *p, char ch);
//接收一个由字母和数字组成的字符串,和一个字符
//然后输出输入字符串中含有该字符的个数
//不区分大小写。
int main()
{
char str[5000];
gets(str);
char ch= getchar();
printf("%d\n",gets_num(str,ch));
return 0;
}
int gets_num(char *p,char ch)
{
int num=0;
if(ch>='0' && ch<='9')//如果是阿拉伯数字
{
for(int i=0;i<strlen(p);i++)
{
if(p[i]==ch)
num++;
}
return num;
}
else if(ch>='A' && ch<='Z')//如果是大写字母
{
for(int i=0;i<strlen(p);i++)
{
if(p[i]==ch || p[i]==ch+32)
num++;
}
return num;
}
else if(ch>='a' && ch<='z')//如果是小写字母
{
for(int i=0;i<strlen(p);i++)
{
if(p[i]==ch || p[i]==ch-32)
num++;
}
return num;
}
}