HJ2计算某字符出现的个数
// HJ02.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #includeint chcmp_i(char c1, char c2) { // 都转换大写比较 return (c1 & 0xdf) - (c2 & 0xdf); } int charOccur(char *s, char c, int (*cmp)(char, char)) { // 空字符串 if (s[0] == ' ') { return 0; } // 单个字符的字符串 if (s[1] == ' ') { return cmp(s[0], c) == 0 ? 1 : 0; } size_t occur = 0; for (; *s != ' '; s += 1) { if (cmp(*s, c) == 0) { occur += 1; } } return occur; } int mystrcpy(char* s, const char* cs) { const char* p = cs; while (*p) { *s++ = *p++; } *s = ' '; return p - cs; } int main() { char s[BUFSIZ] = { ' ' }; char c; std::cin.get(s, BUFSIZ).get(); std::cin.get(c); // mystrcpy(s, "ABCabc"); c = 'A'; // mystrcpy(s, "c"); c = 'j'; // mystrcpy(s, "8 8 8 8A i i OOI IIIaa"); c = 'A'; // std::cout << s << "n"; // std::cout << c << "n"; std::cout << charOccur(s, c, chcmp_i); }
读取1行
########### C++ ###########
#include
char s[BUFSIZ]={' '};
std::cin.get(s, BUFSIZ).get(); // 去掉结尾'n'
########### C ###########
#include
#include
char str[5000] = {0};
fgets(str, sizeof(str), stdin);
读取1个字符
char c;
std::cin.get(c);
int c = 0;
fgetc(c);
下一篇:
HJ4 字符串分隔



