第一行输入一个长度
,由大小写字母、数字和空格构成的字符串
。保证首尾不为空格。
第二行输入一个字符
,保证
为大小写字母或数字。
在一行上输出一个整数,代表统计结果。
HELLONowcoder123 o
3
由于
为小写字母,因此统计其大小写形态出现的次数和,即
。
H E L L O Nowcoder123 1
1
#include <stdio.h>
#include <string.h>
#include <ctype.h> // 包含字符处理函数
int main() {
char str[1000] = {0};
char ch;
int count = 0; // 改为int类型
// 读取输入
scanf("%[^\n]", str);
getchar(); // 吸收换行符
scanf("%c", &ch);
int length = strlen(str); // 提前计算长度
for(int i = 0; i < length; i++) {
// 如果是数字字符,直接比较
if(ch >= '0' && ch <= '9') {
if(ch == str[i]) {
count++;
}
}
// 如果是字母字符,进行不区分大小写比较
else {
// 使用tolower函数进行稳健的大小写转换
if(tolower(ch) == tolower(str[i])) {
count++;
}
}
}
printf("%d", count);
return 0;
} #include <ctype.h>
#include <stdio.h>
#include <string.h>
int main() {
char s[10000] = {0};
char c;
fgets(s, 100000, stdin);
scanf("%c", &c);
int ret = 0;
if (isdigit(c)) {
for (int i = 0; i < strlen(s); i++) {
if (c == s[i]) {
ret++;
}
}
} else {
if (c > 90) {
c -= 32;
}
for (int i = 0; i < strlen(s); i++) {
if (c == s[i] || c == (s[i] - 32)) {
ret++;
}
}
}
printf("%d", ret);
return 0;
} #include <stdio.h>
#include <string.h>
int charToAscii(char ch) {
return (int)ch;
}
int main() {
int len, count[256]={0}, ch_ascii;
char str[1000],ch,c;
scanf("%[^\n] %c", str, &ch);
if(ch >= 'A' && ch <= 'Z'){
ch += 32;
}
len = strlen(str);
ch_ascii = charToAscii(ch);
for(int i=0;i<len;i++){
c = str[i];
if (c >= 'A' && c <= 'Z'){
c += 32;
}
str[i] = c;
count[str[i]]++;
}
printf("%d",count[ch_ascii]);
return 0;
} #include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[1000] = {0};
char ch;
char ch2;
int cnt = 0;
int i = 0;
scanf("%[^\n]\n", str);
ch = getchar();
//scanf("%c\n", &ch);
ch2 = toupper(ch);
for (i = 0; i < strlen(str); i++)
{
if (str[i] == ch2 + 32)
{
str[i] = toupper(str[i]);
}
}
for (i = 0; i < strlen(str); i++)
{
if (ch2 == str[i])
{
cnt++;
}
}
printf("%d", cnt);
return 0;
} #include "stdio.h"
int main(){
char ch;
char str[1000];
int count=0,length=0;
ch=getchar();
while(ch!='\n'){
str[length++]=ch;
ch=getchar();
}
scanf("%c",&ch);
for(int i=0;i<length;i++){
if(str[i]>='A'&&str[i]<='Z'&&str[i]==ch-32) count++;
else if(str[i]>='a'&&str[i]<='z'&&str[i]==ch+32) count++;
else if(str[i]==ch) count++;
}
printf("%d",count);
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); } } }