15.垂直柱状图
题目:
题目:
include
using namespace std;
/44/
int amount(int nums[],string s){
/for(long i = 0; i < s.size();i++){ //这种方式会报错
nums[s[i] - ‘A’]++;
}/
for(long i=0;i<s.length();i++){ //这种不会
for(int j=0;j<26;j++){
if(s[i]-65==j){
nums[j]++;
}
}
}
return *nums; //!注意返回数组时在数组名前面加*
}
int main(){
//读入四行字符串
string s1,s2,s3,s4;
getline(cin,s1);
getline(cin,s2);
getline(cin,s3);
getline(cin,s4);
//统计字母数量
int nums[26] = {0};
amount(nums,s1);
amount(nums,s2);
amount(nums,s3);
amount(nums,s4);
//输出
int max = 0;
for(int i = 0; i < 26; i++){
max = max > nums[i] ? max : nums[i];
}
for(int i = max; i > 0; i--){
for(int j = 0; j < 26; j++){
if(nums[j] >= i){
printf("* ");
nums[j]--;
}
else{
printf(" ");
}
}
printf("\n");
}
cout<<"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";
return 0;
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 vvVB0!