poj2136

题目理解上面是很简单的:就是从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;
}


你可能感兴趣的:(poj2136)