蒟蒻求助

P1598 垂直柱状图

如图: ![](https://cdn.luogu.com.cn/upload/pic/23117.png)
by JAMERES86 @ 2018-07-12 18:05:07


数据1出错了吧 @[主席](/space/show?uid=48442)
by twelveZ @ 2018-07-12 18:09:18


发代码行吗
by twelveZ @ 2018-07-12 18:19:47


```cpp #include<iostream> #include<cstring> #include<cstdio> using namespace std; int s[26]; char a[30000],b[30000],c[30000],d[30000];//定义4个字符串(只要开到101就行了) int main() { int n,i; gets(a);gets(b);gets(c);gets(d); //输入 for(i=0;i<strlen(a);i++) { if (a[i]>=65&&a[i]<=90) s[a[i]-65]++; else continue; }for(i=0;i<strlen(b);i++) { if (b[i]>=65&&b[i]<=90) s[b[i]-65]++; else continue; }for(i=0;i<strlen(c);i++) { if (c[i]>=65&&c[i]<=90) s[c[i]-65]++; else continue; }for(i=0;i<strlen(d);i++) { if (d[i]>=65&&d[i]<=90) s[d[i]-65]++; else continue; } //加,懒得用其他方法,懒得开一个二维数组 int max=0; for(i=0;i<=25;i++) if (s[i]>max) max=s[i];//最高值 for(i=max;i>=1;i--)//从最高值向下筛 { for(int ii=0;ii<=25;ii++) {if (s[ii]>=max) {cout<<"*"<<" ";/*如果够到标准输出星号*/if (max==1&&ii==25) cout<<endl;/*!!!您可能是因为这部错的,如果您下载了第一个测试点并打开C++测试就会发现——不会转行!!!*/s[ii]--;/*本行作用到之后自减*/} else {if (ii==25) {cout<<endl;/*最后,转行*/if (max!=1) max--;}else cout<<" ";/*如果没有作用到,输出两个空格*/} } } for(i=0;i<=25;i++) { char z=i+65;/*懒得前面定义一个*/ cout<<z<<" "; } } ``` 希望能帮助到您
by twelveZ @ 2018-07-12 18:21:22


@[JAMERES86](/space/show?uid=95875) @[漆原琉华](/space/show?uid=10541) ...搞错代码了,发的是我原来本地保存的...不是我交上去的那个... ```cpp #include <cstdio> #include <cstring> #include <iostream> using namespace std; int Len, num[30], maxn = -1, del[30]; char s[100], c; bool find() { for(int i = 0; i <= 'Z' - 'A'; i++) if(del[i] >= 0) return true; return false; } int main(void) { memset(num, 0, sizeof(num)); while(scanf("%c", &c) != EOF) { if(c >= 'A' && c <= 'Z') num[c - 'A']++; } // for(int i = 0; i <= 'Z' - 'A'; i++) // cout << num[i] << " "; for(int i = 0; i <= 'Z' - 'A'; i++) if(num[i] > maxn) maxn = num[i]; // cout << maxn << endl; for(int i = 0; i <= 'Z' - 'A'; i++) del[i] = maxn - num[i]; // for(int i = 0; i <= 'Z' - 'A'; i++) // cout << del[i] << " "; while(find()) for(int i = 0; i <= 'Z' - 'A'; i++) { if(i == 'Z' - 'A') { if(del[i] <= 0) printf("*\n"); else printf(" \n"); del[i]--; continue; } if(del[i] <= 0) printf("* "); else printf(" "); del[i]--; } for(int i = 0; i <= 'Z' - 'A'; i++) { if(i != 'Z' - 'A') printf("%c ", 'A' + i); else printf("%c", 'Z'); } return 0; } ```
by user48442 @ 2018-07-12 22:29:08


啊小失误小失误代码放错了求原谅QwQ
by user48442 @ 2018-07-12 22:40:37


我明天再看一眼 ~~其实是自己WA了~~
by JAMERES86 @ 2018-07-12 22:48:26


@[JAMERES86](/space/show?uid=95875) QwQ有毒啊
by user48442 @ 2018-07-13 21:17:10


@[AC机的朋友AC鸭](/space/show?uid=107232) 懵,还是不太懂 请问该如何修改?
by user48442 @ 2018-07-13 21:25:10


@[主席](/space/show?uid=48442) 我是个新手QAQ,才学一阵,您用的那些命令我看不懂,实在是抱歉(惭愧.jpg)
by twelveZ @ 2018-07-13 21:50:30


上一页 | 下一页