下面的代码 可以统计句子中的字符 生成条形图
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main(){
system("color");
system("mode con cols=130 lines=40");
system("title ");
cout << "Please output a sentence!" << endl;
string s;
getline(cin,s);
int uppers = 0,lowers = 0,number = 0,other = 0,blank = 0;
for(int i = 1;i <= s.size();i++){
if(s[i] >= 'A' && s[i] <= 'Z'){
uppers++;//判断是否是大写字母,是就uppers+1
}else if(s[i] >= 'a' && s[i] <= 'z'){
lowers++;//判断是否是小写字母,是就lowers+1
}else if(s[i] >= '0' && s[i] <= '9'){
number++;//判断是否是数字,是就number+1
}else if(s[i] == ' '){
blank++;//判断是否是空格,是就blank+1
}else{
other++;//判断是否是其他字符,是就uppers+1
}
}
system("cls");
//生成条形图
cout << "大写字母:";
for(int i = 1;i <= uppers;i++){
cout << "\033[1;31m";
cout << "▆";
cout << "\033[0m";
}
cout << uppers;
cout << endl;
cout << "小写字母:";
for(int i = 1;i <= lowers;i++){
cout << "\033[36m";
cout << "▆";
cout << "\033[0m";
}
cout << lowers;
cout << endl;
cout << "数字 :";
for(int i = 1;i <= number;i++){
cout << "\033[32m";
cout << "▆";
cout << "\033[0m";
}
cout << number;
cout << endl;
cout << "空格 :";
for(int i = 1;i <= blank;i++){
cout << "\033[1;33m";
cout << "▆";
cout << "\033[0m";
}
cout << blank;
cout << endl;
cout << "其他 :";
for(int i = 1;i <= other;i++){
cout << "\033[1;36m";
cout << "▆";
cout << "\033[0m";
}
cout << other;
cout << endl;
}
代码拿去不谢