社区讨论

条件判断和输入也检查了没发现问题,但是最上面两行打不出“*”,求指出问题

P1598[USACO03FEB] 垂直柱状图 Vertical Histogram参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhz48hxj
此快照首次捕获于
2025/11/15 01:12
4 个月前
此快照最后确认于
2025/11/16 13:46
4 个月前
查看原帖
TwT 本蒟蒻检查了半天没找到问题在哪,求大佬指出问题orz
CPP
#include<bits/stdc++.h>
using namespace std;
int cnt[30],mx;
int main(){
    char a;
    string n;
    while(cin>>n){
        for(int j=0;j<int(n.length());j++) {
            if(n[j]>='A'&&n[j]<='Z'){
                cnt[int(char(n[j]-'A'))]++;
            }
        }
    }
    //输入部分已完成
    for(int i=0;i<26;i++){
        mx=max(mx,cnt[i]);
    }
    //cout<<mx<<endl;
    //👇输出表格
    for(int i=mx;i>0;i--){
        for(int j=0;j<26;j++){
            bool x=true;
            for(int k=j+1;k<26;k++){
                if(cnt[k]>=i) x=false;
            }
            if(x) break;
            cout<<((cnt[j]>=i)?"*":" ");
            cout<<" ";
        }
        cout<<endl;
    }
    //👆输出表格
    for(int i=0;i<26;i++){
        cout<<cnt[i]<<" ";
    }
    cout<<endl;
    //最后(字母行)输出部分已完成
    for(int i=0;i<25;i++){
        cout<<char('A'+i)<<" ";
    }
    cout<<"Z";
}

回复

0 条回复,欢迎继续交流。

正在加载回复...