题目理解上面是很简单的:就是从A到Z在四个字符创中出现的次数,然后用题目中的output形式输出就好了
我的思路就是用一个二维数组模拟这个柱形体平面,然后输出就好了,注意空格
#include<string.h> #include<stdio.h> #include<algorithm> using namespace std; char a[100]; int tempans[300]={0}; int ans[300][100]={0}; int main() { int temp=4; while(temp--){ gets(a); for(int i=0;a[i]!='\0';i++) tempans[a[i]]++; memset(a,'\0',sizeof(a)); } int tempmax=0; for(int i='A';i<='Z';i++){ int temp=tempans[i]; tempmax=max(temp,tempmax); for(int j=1;j<=temp;j++) ans[i][j]=1; } for(int j=tempmax;j>0;j--){ for(int i='A';i<='Z';i++){ if(ans[i][j]) printf("*"); else printf(" "); if(i!='Z') printf(" "); } puts(""); } printf("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\n"); return 0; }