为什么总是输出空格

P1598 垂直柱状图

``` maxx==zim[meiju]; zmu[j][i]==1; zmu[j][i]==0; ``` 麻烦看看为啥是两个等号
by CarroT1212 @ 2020-11-07 22:13:34


@[龚特_201912_Pg](/user/319803) 谢谢
by wu_wowo @ 2020-11-08 15:53:10


@[龚特_201912_Pg](/user/319803) 懵了,还是搓了 ``` #include<iostream> #include<cstdio> using namespace std; int maxx; bool zmu[26][100]; int zim[27]; int main(){ for(int i=1;i<=26;i++) zim[i]=0; char a; for(int i=1;i<=4;i++){ for(int j=1;j<=100;j++){ scanf("%1c",&a); if(a=='A') zim[1]++; if(a=='B') zim[2]++; if(a=='C') zim[3]++; if(a=='D') zim[4]++; if(a=='E') zim[5]++; if(a=='F') zim[6]++; if(a=='G') zim[7]++; if(a=='H') zim[8]++; if(a=='I') zim[9]++; if(a=='J') zim[10]++; if(a=='K') zim[11]++; if(a=='L') zim[12]++; if(a=='M') zim[13]++; if(a=='N') zim[14]++; if(a=='O') zim[15]++; if(a=='P') zim[16]++; if(a=='Q') zim[17]++; if(a=='R') zim[18]++; if(a=='S') zim[19]++; if(a=='T') zim[20]++; if(a=='U') zim[21]++; if(a=='V') zim[22]++; if(a=='W') zim[23]++; if(a=='X') zim[24]++; if(a=='Y') zim[25]++; if(a=='Z') zim[26]++; if(a=='\n') break; } } maxx=zim[1]; for(int meiju=1;meiju<=26;meiju++) if(zim[meiju]>=maxx) maxx=zim[meiju]; for(int i=maxx;i>=1;i--){ for(int j=1;j<=26;j++){ if(zim[i]>=i) zmu[j][i]=1; else zmu[j][i]=0; } } for(int i=maxx;i>=1;i--){ for(int j=1;j<=26;j++){ if(zmu[j][i]==1) cout<<"* "; else cout<<" "; } cout<<'\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; }
by wu_wowo @ 2020-11-08 17:36:50


你这也太~~不~~暴力了吧 很简单的问题 for(int i=maxx;i>=1;i--){ for(int j=1;j<=26;j++){ if(zmu[j][i]==1) cout<<"* "; else cout<<" "; } 如果判断到‘Z’,若为else,肯定会多输出一个空格的 for (int i=max;i>=1;i--) { for (int j=0;j<26;j++) { if (x[j]>=i) { cout<<'*'; } else { cout<<' '; } if (j!=25) cout<<' '; else { cout<<endl; } } } 可以参考一下,虽然不是一个思路,但还是有共通性的
by 快斗游鹿 @ 2021-04-30 18:55:16


|