问题描述
给出一个字符C和一行文字S,统计在这行文字S中字符C出现的次数。
程序还需要支持大小写敏感选项:
当选项打开时,表示同一个字母的大写和小写看作不同的字符;
当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
输入说明
输入数据由两行构成。
第一行包含一个字符C和一个数字n。字符C为大小或小写英文字母。数字n表示大小写敏感选项,当数字n为0时表示大小写不敏感,当数字n为1时表示大小写敏感。字符C和数字n之间用空格分隔。
第二行为一个字符串S,字符串由大小写英文字母组成,不含空格和其他字符。字符串S长度不超过100。
输出说明
输出字符C在字符串S中出现的次数。
输入样例
样例1输入
L 1
HELLOWorld
样例2输入
L 0
HELLOWorld
输出样例
样例1输出
2
样例2输出
3
#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> int main() { char c; int n,count = 0; char str[100]; scanf("%c %d",&c, &n); scanf("%s",&str); if(n==1)//大小写不一致 { char *p = strchr(str,c);//搜索字符 for( ;p!=NULL;count++) { p = strchr(p+1,c);//未搜索到输出NULL } printf("%d\n",count); } if(n==0)//大小写视为一致 { if(c>='A'&&c<='Z')//字符串全变大写 { strupr(str); } else if(c>='a'&&c<='z')//字符串全变小写 { strlwr(str); } char *p1 = strchr(str,c); for( ;p1!=NULL;count++) { p1 = strchr(p1+1,c); } printf("%d\n",count); } return 0; }