关于c语言问一个小问题

P1598 垂直柱状图

实在不行可以用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


|