第一行输入一个长度
,由大小写字母、数字和空格构成的字符串
。保证首尾不为空格。
第二行输入一个字符
,保证
为大小写字母或数字。
在一行上输出一个整数,代表统计结果。
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;
} 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>
#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);
}
} // 唯一的坑在于居然单独的单词是换行的,这里用replaceAll换掉所有匹配的字符
// 然后比较长度差就可以了
import java.util.*;
public class Main{
public static void main(String ... args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String words = sc.nextLine();
String word = sc.nextLine();
int count = words.length() - words.replaceAll("(?i)" + word, "").length();
System.out.println(count);
}
}
} #include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
char a;
cin >> s >> a;
int n = 0;
char a2; //如果a是字母,则a2是a对应的大小写反转的字母
if(a>='a' && a<='z') //小写字母比大写字母的ASCII码大32,且字母越靠后ASCII码越大
{
a2 = a - 32;
}
else if(a>='A' && a<='Z')
{
a2 = a + 32;
}
for(int i = 0;i <= s.size()-1;i++)
{
if(s[i] == a || s[i] == a2) n++; //不区分大小写的字符检测、计数
}
cout << n << endl;
return 0;
} }
import java.util.*; import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner s=new Scanner(System.in); String all=""; String one=""; char[] ac; char temp; int num=0; while(s.hasNext()) { //s.toUpperCase(),String 转化为大写 //s.toLowerCase(),String 转化为小写 //String字符转换,s.toCharArray()与s.charAt(index) //char字符转换,String.valueOf(c)转化为String all=s.nextLine(); one=s.nextLine(); //存放原来所有的 ac=all.toCharArray(); //存放要的字符 //temp=one.charAt(0); for(int i=0;i<ac.length;i++) { if(one.equalsIgnoreCase(String.valueOf(ac[i]))) num++; } System.out.println(num); } } }