CPP34. 使用字符函数统计字符串中各类型字符的个数
描述
键盘录入一句话,统计这句话中字母字符、数字字符、空白、标点符号和其它字符的个数。(使用字符函数实现)输入描述
键盘输入一个字符串输出描述
输出字符串中字母字符、数字字符、空白、标点符号和其它字符的个数。示例1
输入:
hello123world,$ 123
输出:
chars : 10 whitespace : 1 digits : 6 others : 2
C 解法, 执行用时: 2ms, 内存消耗: 312KB, 提交时间: 2022-03-04
#include <stdio.h> int main() { int whitespace = 0; int digits = 0; int chars = 0; int others = 0; char ch; while ((ch = getchar()) != '\n') { if (ch == ' ') { whitespace++; } else if (ch >= '0' && ch <= '9') { digits++; } else if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) { chars++; } else { others++; } } printf("chars : %d ", chars); printf("whitespace : %d ", whitespace); printf("digits : %d ", digits); printf("others : %d ", others); return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 316KB, 提交时间: 2022-05-28
#include <iostream> #include <string> using namespace std; int main() { string str; getline(cin, str); int whitespace = 0; int digits = 0; int chars = 0; int others = 0; // write your code here...... for(int i = 0; i < str.length(); i++){ //遍历字符串 if(isalpha(str[i])) //判断是否是字母 chars++; else if(isdigit(str[i])) //判断是否是数字 digits++; else if(isspace(str[i])) //判断是否是空格 whitespace++; else others++; } cout << "chars : " << chars << " whitespace : " << whitespace << " digits : " << digits << " others : " << others << endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 316KB, 提交时间: 2022-02-10
#include <iostream> #include <string> using namespace std; int main() { string str; getline(cin, str); int whitespace = 0; int digits = 0; int chars = 0; int others = 0; // write your code here...... for(int i=0; i< str.length() ; i++){ if(isalpha(str[i])) chars++; else if(isdigit(str[i])) digits++; else if(isspace(str[i])) whitespace++; else others++; } cout << "chars : " << chars << " whitespace : " << whitespace << " digits : " << digits << " others : " << others << endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 384KB, 提交时间: 2021-12-19
#include <iostream> #include <string> using namespace std; int main() { string str; getline(cin, str); int whitespace = 0; int digits = 0; int chars = 0; int others = 0; // write your code here...... for(int i = 0; i < str.length(); i++){ //遍历字符串 if(isalpha(str[i])) //判断是否是字母 chars++; else if(isdigit(str[i])) //判断是否是数字 digits++; else if(isspace(str[i])) //判断是否是空格 whitespace++; else others++; } cout << "chars : " << chars << " whitespace : " << whitespace << " digits : " << digits << " others : " << others << endl; return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 388KB, 提交时间: 2022-01-26
#include <iostream> #include <string> using namespace std; int main() { string str; getline(cin, str); int whitespace = 0; int digits = 0; int chars = 0; int others = 0; // write your code here...... for(int i=0;i<str.length();i++){ if(isalpha(str[i])) chars++; else if(isdigit(str[i])) digits++; else if(isspace(str[i])) whitespace++; else others++; } cout << "chars : " << chars << " whitespace : " << whitespace << " digits : " << digits << " others : " << others << endl; return 0; }