实在不行可以用getchar判换行
by zqy729 @ 2022-11-04 22:52:11
如果是C++,可以用getline(cin,str)来直接读
by zqy729 @ 2022-11-04 22:53:18
@[Abcdefghijkl](/user/794904) `fgets`,或者 `cin >> a >> b >> c >> d`。
by Usada_Pekora @ 2022-11-04 23:00:30
cin string
by YGB_XU @ 2022-11-04 23:06:34
@[zqy729](/user/498117) 好的我去试试
by Abcdefghijkl @ 2022-11-04 23:17:10
谢谢各位了
by Abcdefghijkl @ 2022-11-04 23:17:19
提供一下我写的C代码
```c
#include<stdio.h>
#include<stdlib.h>
#define max(a,b) (a)>(b)?(a):(b)
int lists[30]={0};
using namespace std;
int main(void) {
int num,maxn=-1;
char c;
/*debug
freopen("testOutput.txt","w",stdout);
/**/
scanf("%d",&num);
while(scanf("%c",&c)!=EOF) {
if(c>='A' && c<='Z') {
++lists[c-'A'+1];
}
}
for(int i=1;i<=26;++i) {
maxn=max(lists[i],maxn);
}
for(int i=maxn,t;i>=1;--i) {
t=1;
if(lists[1]>=i) { //特判 'A':A前面不用打空格
putchar('*');
} else {
putchar(' ');
}
for(int j=2;j<=26;++j) {
if(lists[j]>=i) {
for(register int k=t+1;k<j;++k) {
putchar(' ');
putchar(' ');
}
putchar(' ');
putchar('*');
t=j;
}
}
putchar('\n');
}
putchar('A');
for(int i=2;i<=26;++i) {
putchar(' ');
putchar('A'-1+i);
}
return 0;
}
```
by zqy729 @ 2022-11-05 13:56:26
@[Abcdefghijkl](/user/794904)
by zqy729 @ 2022-11-05 13:58:23
@[zqy729](/user/498117) 好的,谢谢
by Abcdefghijkl @ 2022-11-05 14:12:21