描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例1
输入:ABCabc
A
输出:2
思路分析: 循环比较字符串每个字符与输入字符是否相同。
- 判断大小写:先判断是不是字母,如果是字母再判断两者差值是不是32,即’a’-‘A’。写法:(x>y?x:y)-(x<y?x:y)
代码如下:
#include <stdio.h>
#include <string.h>
#define Cmin(x,y) ((x>y?x:y)-(x<y?x:y))
int main()
{
char str[1000],ch;
int i=0,num=0;
gets(str);
scanf("%c",&ch);
for(i=0;i<strlen(str);i++)
{
if(str[i] == ch)
num++;
else if((ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')&&(Cmin(ch,str[i])=='a'-'A'))
num++;
}
printf("%d",num);
return 0;
}