社区讨论

gets为什么不能用???求助(=_=)!!

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

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mi5hm89j
此快照首次捕获于
2025/11/19 12:13
4 个月前
此快照最后确认于
2025/11/19 12:13
4 个月前
查看原帖
CPP
#include <iostream>
#include <cstring>
using namespace std;
struct zimu{
    char x;
    int s;
};
char a[1000001];
char q[1000001];
char p[1000001];
char z[1000001];
zimu e[26];
int main(){
    int t=0,i,k=65,m=0,j,max=-1,aq=0,ap=0,az=0;
    for(i=0;i<=25;i++){
        e[i].x=(char(k));
        k++;
    }
    gets(a);gets(q);gets(p);gets(z);
    m=strlen(a)-1;
    aq=strlen(q)-1;
    ap=strlen(p)-1;
    az=strlen(z)-1;
    for(i=0;i<=m;i++){
        if(a[i]>='A' && a[i]<='Z'){
            for(j=0;j<=25;j++){
                if(a[i]==e[j].x)
                e[j].s++;
            }
        }
    }
    for(i=0;i<=aq;i++){
        if(q[i]>='A' && q[i]<='Z'){
            for(j=0;j<=25;j++){
                if(q[i]==e[j].x)
                e[j].s++;
            }
        }
    }
    for(i=0;i<=ap;i++){
        if(p[i]>='A' && p[i]<='Z'){
            for(j=0;j<=25;j++){
                if(p[i]==e[j].x)
                e[j].s++;
            }
        }
    }
    for(i=0;i<=az;i++){
        if(z[i]>='A' && z[i]<='Z'){
            for(j=0;j<=25;j++){
                if(z[i]==e[j].x)
                e[j].s++;
            }
        }
    }
    for(i=0;i<=25;i++){
        if(max<=e[i].s)
        max=e[i].s;
    }
    for(i=max;i>=1;i--){
        for(j=0;j<=24;j++){
            if(e[j].s>=i){
                cout<<"*"<<" ";
            }else{
                cout<<" "<<" ";
            }
        }
        if(e[25].s>=i){
            cout<<"*";
        }
        else{
            cout<<" ";
        }
        cout<<endl;
    }
    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;
}

回复

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

正在加载回复...