第一行输入一个长度
,由大小写字母、数字和空格构成的字符串
。保证首尾不为空格。
第二行输入一个字符
,保证
为大小写字母或数字。
在一行上输出一个整数,代表统计结果。
HELLONowcoder123 o
3
由于
为小写字母,因此统计其大小写形态出现的次数和,即
。
H E L L O Nowcoder123 1
1
#include <iostream> #include <string> using namespace std; int main() { string input; char s,m; getline(cin, input); cin>>s; m=s; if('A'<=s<='z') { if('A'<=s&&s<='Z') m=s+32; else if('z'>=s&&s>='a') m=s-32; int count=0; int length=input.size(); for(int i=0;i<length;i++) { if(input[i]==s||input[i]==m) { count++; } } cout<<count<<endl; } return 0; }
/* 注意大小写转换*/ #include<iostream> (720)#include<string> using namespace std; int main(){ string input1,input2,input3; int k=0; while(cin>>input1&&cin>>input2); if('a'<=input2[0]&&'z'>=input2[0]) input3=input2[0]-32; if('A'<=input2[0]&&'Z'>=input2[0]) input3=input2[0]+32; for(int i=0;i<input1.length();i++){ if(input2[0]==input1[i]||input3[0]==input1[i]) ++k; } cout<<k<<endl; return 0; }
#include <iostream> #include <string> using namespace std; int main(void) { string s1; char s2; int num=0,i=0,j=0; getline(cin,s1); cin >> s2; num=s1.size(); for ( i = 0; i < num; i++) { if (s1[i]>='A' && s1[i]<='Z') { s1[i] = s1[i] + 32; } if (s2>='A' && s2<='Z') { s2 = s2 + 32; } if (s1[i] == s2 ) { j++; } } cout <<j <<endl; return 0; }
import java.util.Scanner; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.next().toUpperCase(); String s=sc.next().toUpperCase(); List<String> list=new ArrayList<String>(); Collections.addAll(list, str.split("")); int a=list.size(); while(list.contains(s)) { list.remove(s); } System.out.println(a-list.size()); } }
var readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); var lines = []; var countLine=1; rl.on("line", function(line) { //将输入放到新建的空数组中 lines.push(line); if(countLine==2){ var str=lines[0].trim().toLowerCase(); var c=lines[1].trim().toLowerCase(); var count=0; var index=0; while(str.indexOf(c,index)!==-1&&index<str.length){ index=str.indexOf(c,index)+1; count++; } countLine=1; lines=[]; console.log(count); } else{ countLine++; } });
#include<iostream>
#include<string>
using namespace std;
int main()
{
int i = 0;
string str;
char a;
cin >> str;
cin >> a;
/因为不区分大小写,所以先全部统一成大写,再进行比较/
//将str和a都转换成大写
for (auto &s : str)
s=toupper(s);
a = toupper(a);
/用范围for循环将str的每个字符与a进行比较
,与a相等则i+1/
for (auto s : str)
{
if (s == a)
i++;
}
cout << i << endl;//输出i;
return 0;
}
#include<iostream> #include<string> #include<cmath> using namespace std; int PrintCharNum(string &str, char c) { int count = 0; for (int i = 0; i<str.size(); i++) { if (abs(str[i] - c) == 0 || abs(str[i] - c) == 32) count++; } return count; } int main() { string str; char c; getline(cin, str); cin >> c; cout << PrintCharNum(str, c) << endl; return 0; }大小写字母相差32,可以用其差的绝对值来进行条件判定。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int sum;
int main()
{
string a;
char b;
cin>>a>>b;
int len=a.length();
while(len--)
if(a[len]==b||a[len]==b+32||a[len]==b-32)sum++;
cout<<sum;
return 0;
}
}
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int i;
int a = 0, b = 0, d = 0, e;
char name[5000];
char c;
cin.get(name, 5000);
cin >> c;
for (i = 0; i<5000; i++)
{
if (c >= 'a'&&c <= 'z')
{
if (name[i] == c || name[i] == c - 32)
{
a++;
}
else
{
continue;
}
}
else if (c >= 'A'&&c <= 'Z')
{
if (name[i] == c || name[i] == c + 32)
{
b++;
}
else
{
continue;
}
}
else if (name[i] == c)
{
d++;
}
else
{
continue;
}
}
e = a + b + d;
cout << e;
}
//此算法可消除大小写 #include <iostream> #include <map> using namespace std; int main(){ map<char,int>words; char ch; while ((ch=getchar())) { if(ch=='\n') break; else if(ch>='a'&&ch<='z') { ch-=('a'-'A'); words[ch]++; } else words[ch]++; } cin>>ch; if(ch>='a'&&ch<='z') { ch-=('a'-'A'); } cout<<words[ch]<<endl; return 0; }
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.nextLine(); //char ch2= sc.nextLine().charAt(0); String str2= sc.next(); //char[] ch = str.toCharArray(); int sum = 0; for(int i = 0;i<str.length();i++){ int result = str2.compareToIgnoreCase(String.valueOf(str.charAt(i))); if(result==0){ sum++; } } System.out.println(sum); } }
#include<stdio.h> #include<string.h> int main(){ char str[1000]; char c,a; int i=0,cnt=0; scanf("%s",str); getchar(); scanf("%c",&c); if(c>='A'&&c<='Z'){ a=c+32; }else if(c>='a'&&c<='z'){ a=c-32; } for(i=0;i<strlen(str);i++){ if(str[i]==c||str[i]==a) cnt++; } printf("%d\n",cnt); return 0; }
import java.util.*; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); String s1 = ""; String s2 = ""; s1 = in.nextLine(); s2 = in.nextLine(); int count = 0; for(int i = 0; i < s1.length(); i++) { String s = s1.substring(i,i+s2.length()); if(s2.equalsIgnoreCase(s)) { count++; } } System.out.println(count); } }