100
推荐
import java.uti
查看全部
编辑于 2017-03-04 16:05:10
回复(41)
0
#include
#include
using namespace std;
int main(){
string arr;
char compare1;
getline(cin,arr);
cin >> compare1;
compare1 = compare1 | 0x20;
int i = arr.length() - 1;
int counts = 0;
for (; i >= 0; i--)
{
if(arr[i] == 0x20) continue;
char temp = arr[i] | 0x20;
if (temp == compare1) counts++;
}
cout <
return 0;
}
发表于 2021-01-05 17:03:50
回复(0)
0
#include
#include
#include
void str_num(char* str,char ch){
char* temp = str;
unsigned int len = strlen(str) - 1;
unsigned int num = 0;
for(int i = 0;i
if(*temp == ch)
num++;
else if((*temp) + 32 == ch)
num++;
else if((*temp) - 32 == ch)
num++;
temp++;
}
printf("%d\n",num);
}
int main(){
char str[500] = {0};
char ch;
fgets(str,sizeof(str),stdin);
scanf("%c",&ch);
str_num(str,ch);
return 0;
}
发表于 2020-12-31 22:39:29
回复(0)
0
#include
#include
int main(void)
{
int aiCharNum[255] = { 0 };
char ch;
int charNum = 0;
while ((ch = getchar()) != '\n')
{
/*将此字符的个数加1*/
aiCharNum[ch] ++;
}
// 清空缓存
while ((ch = getchar()) == '\n');
if (ch >= '0' && ch <= '9')
{
charNum = aiCharNum[ch];
}
else if (ch >= 'A' && ch <= 'Z')
{
charNum = aiCharNum[ch] + aiCharNum[ch + ('a' - 'A')];
}
else if (ch >= 'a' && ch <= 'z')
{
charNum = aiCharNum[ch] + aiCharNum[ch - ('a' - 'A')];
}
printf("%d\n", charNum);
return 0;
}
发表于 2020-11-09 21:57:23
回复(0)
0
include
include
int Findchar(charstr, charch)
{
assert(str != NULL);
int count = 0;
while (str != '\0')
{
if (str >= 'A'&&str <= 'Z')
*str = *str + 32;
if (ch >= 'A'&&ch <= 'Z')
ch += 32;
if (str == ch)
{
count++;
}
str++;
}
return count;
}
int main()
{
char str[100] = { 0 };
gets(str);
char ch;
scanf("%c", &ch);
int count = Findchar(str, ch);
printf("%d\n", count);
return 0;
}
编辑于 2020-10-25 15:01:31
回复(0)
0
//主要对比了Python和C++代码,感觉虽然Python三件代码很简短但是占用内存以及运行时间却较大
//C++需要2ms Python 16ms 还是各有所长啊 妙啊
# include # include
using namespace std;
int main()
{
string str;
char s;
cin >> str >> s;
int count=0;
for(int i=0;i
if(s==str[i] || s==str[i]+32 || s==str[i]-32)
count++;
cout << count;
}
发表于 2020-09-15 10:15:05
回复(0)
0
#include
#include
#include
#define LEN 10000
int NumOfCharacter(const char *str, char ch)
{
int i;
int len = strlen(str) - 1;
int count = 0;
for (i = 0; i
if (tolower(str[i]) == tolower(ch)) {
count++;
}
}
printf("%d\n", count);
return 0;
}
int main(void)
{
char arr[LEN] = {0};
char ch = 0;
fgets(arr, LEN, stdin);
scanf("%c", &ch);
NumOfCharacter(arr, ch);
return 0;
}
将字符串字符和对比字符都转换为小写后直接比较。
发表于 2020-09-13 21:33:24
回复(0)
0
直接算两个字符差值即可,无需大小写转换 #include
#include
using namespace std;
int main()
{
string str;
char ch;
while (cin >> str >> ch)
{
int count = 0;
for(const auto& c : str) {
//统计不区分大小写
int dec = c - ch;
if(0 == dec || dec == 'a' - 'A' || dec == 'A' - 'a') {
++count;
}
}
cout <
}
return 0;
}
发表于 2020-09-01 22:16:39
回复(0)
0
#include
#include
using namespace std;
int main(){
string str1;
string str2;
getline(cin,str1);
getline(cin,str2);
int count = 0;
for(int i = 0 ; i
if(abs(str1[i] - str2[0]) == 0 || abs(str1[i] - str2[0]) == 32){
count++;
}
}
cout <
return 0;
}
编辑于 2020-08-30 21:04:20
回复(0)
0
#include
#include
#include
using namespace std;
int main()
{
string strs;
char str;
int count = 0;
cin >> strs;
cin >> str;
transform(strs.begin(), strs.end(), strs.begin(), ::toupper);//transform()头文件为algorithm
str = toupper(str);
for (int i = 0; i
{
if (strs[i] == str)
{
count++;
}
}
cout <
system("pause");
}
编辑于 2020-08-30 18:00:24
回复(0)
1
#include
#include
using namespace std;
int main()
{
string a;
getline(cin,a);
char b;
cin>>b;
int c=0;
for(int i=0;i
{
if(a[i]>='A'&&a[i]<='Z')
{
a[i]+=32;
}
}
for(int i=0;i
{
if(a[i]==b)
{
c++;
}
}
cout<
return 0;
}
发表于 2020-08-28 17:06:21
回复(0)
0
#include
#include
using namespace std;
int main(){
char ch;
int count=0;
vector ans;
while(ch=getchar()){
if(ch=='\n') break;
else ans.push_back(ch);
}
cin>>ch;
for(int i=0;i
if(ans[i]==ch || ans[i]-32==ch || ans[i]+32==ch) count++;
}
cout<
return 0;
}
发表于 2020-08-25 17:10:04
回复(0)
0
#include
#include
int main(void)
{
char *s;
int n;
scanf("%d", &n);
s=(char *)malloc(sizeof(char)*n);
gets(s);
char x;
scanf("%c", &x);
int i=0, count=0;
while(s[i])
{
if(s[i]==x || s[i]==(x+32) || s[i]==(x-32))
count++;
i++;
}
printf("%d\n", count);
free(s);
return 0;
}
发表于 2020-08-24 13:33:46
回复(0)
0
c语言代码
#include
#include
int main()
{
//定义存储字符的数组
int arr[256] = {0};
//读取第一行的字符,并统计各个字符的个数
char temp;
temp = getchar();
while(temp != '\n')
{
arr[tolower(temp)]++;
temp = getchar();
}
//输出第一行中含有第二行字符的个数
temp = getchar();
printf("%d\n", arr[tolower(temp)]);
return 0;
}
发表于 2020-08-23 14:09:33
回复(0)
0
#include
#include
int main()
{
std::string s;
char t;
while(getline(std::cin,s)&&std::cin>>t)
{
int a=0;
int c=t;
for(int i=0;i
{
if(c==32&&s[i]==c)
{
a++;
}
if(c>=49&&c<=57&&s[i]==c)
a++;
if(c>=65&&c<=90&&s[i]==c||c>=65&&c<=90&&s[i]==c+32)
a++;
if(c>=97&&c<=122&&s[i]==c||c>=97&&c<=122&&s[i]==c-32)
a++;
}
std::cout<
}
return 0;
}
发表于 2020-08-19 10:47:46
回复(0)
0
使用ctype标准库函数,避免重复造轮子,写好看的代码。
思想:gets()获取字符串,getchar()获取比对字符。将比对字符转成小写(或大写),对字符串进行遍历比对。 #include
#include
int main()
{
char str[2000];
int i =0;
int count = 0;
char character;
gets(str);
character = getchar();
if(isupper(character))
character = tolower(character);
for (i =0; *(str+i) != 0; i++)
{
if (character == *(str+i) || character == tolower(*(str+i)))
count++;
}
printf ("%d", count);
return 0;
}
编辑于 2020-08-19 15:41:18
回复(0)
0
#include
#include
int main(void)
{
char s[1000];
while(gets(s) != 0)
{
char c;
int n = 0;
c = tolower(getchar());
getchar(); // 将'\0'读出来,否则影响后续
for (int i = 0; s[i] != '\0'; i++)
{
if (c == tolower(s[i])) { n++; }
}
printf("%d\n", n);
}
return 0;
}
发表于 2020-08-15 13:48:10
回复(0)
0
首先输入字符串和字符,然后来把字符串中的内容和字符进行对比,若想等,则+1,以此类推。同样,因为不区分大小写,所以a比A大32,因此在判断的时候,两种情况都要写。个人代码,如需改进,欢迎大家指出。
#include
using namespace std;
int main(){
string s;
char a;
int count = 0;
while(cin>>s>>a){
int len = s.size();
for(int i = 0;i
if(s[i]==a||s[i]==a-32) count++;
}
}
cout << count<
system("pause");
return 0;
}
编辑于 2020-08-15 20:28:00
回复(0)
0
#include
int main(){
char str_1[5000]; //字符串
char char_1; //字符
gets(str_1); //获取字符串
scanf("%c",&char_1); //获取字符
int hash[256]={0},count = 0; //定义哈希集合、计数单位
for(int i=0;str_1[i]!='\0';i++){ //遍历字符数组
hash[str_1[i]]++; //字符
hash[str_1[i]+'A'-'a']++; //字符大写
hash[str_1[i]-'A'+'a']++; //字符小写
}
count = hash[char_1]; //判断字符并输出
printf("%d\n",count);
}
发表于 2020-08-13 20:13:12
回复(0)
0
#include
char a[1000];
char temp=' ';
int main()
{
gets(a);
temp = getchar();
int len=strlen(a);
int count=0;
for(int i=0;i
{
if((a[i]==temp)||(a[i]==(temp-32))||(a[i]==(temp+32)))
{
count++;
}
}
printf("%d\n",count);
}
发表于 2020-08-12 22:32:40
回复(0)