PAT (Basic Level) Practice (중국어) 1043 출력 PATest (20 점) (C 구현)

제목 설명:
길이 가 104 10 ^ 4 104 를 초과 하지 않 고 영문 자모 로 만 구 성 된 문자열 을 지정 합 니 다.PATestPATest... 과 같은 순서 로 문 자 를 다시 조정 하고 다른 문 자 를 무시 하 십시오.물론 여섯 글자 의 개수 가 꼭 같은 것 은 아 닙 니 다. 어떤 문자 가 출력 되 었 다 면 나머지 문 자 는 모든 문자 가 출력 될 때 까지 PATest 순서대로 인쇄 됩 니 다.
입력 형식:
한 줄 에 입력 하면 길이 가 104 10 ^ 4 104 를 초과 하지 않 고 영문 자모 로 만 구 성 된 비 어 있 는 문자열 을 보 여 줍 니 다.
출력 형식:
한 줄 에서 제목 에 따라 정렬 된 문자열 을 출력 해 야 합 니 다.제목 은 출력 이 비어 있 지 않 음 을 보증 합 니 다.
입력 예시:
redlesPayBestPATTopTeePHPereatitAPPT

출력 예시:
PATestPATestPTetPTePePee

코드 예제 (C 구현)
#include 

int main() 
{
    //       ,          
    int patEst[6];
    char patEsts[] = "PATest";

    char str[10000] = "";
    scanf("%s", &str);

    for (int i = 0; i < 10000; i++) {
        char c = str[i];
        switch (c) {
            case 'P':
                patEst[0]++;
                break;
            case 'A':
                patEst[1]++;
                break;
            case 'T':
                patEst[2]++;
                break;
            case 'e':
                patEst[3]++;
                break;
            case 's':
                patEst[4]++;
                break;
            case 't':
                patEst[5]++;
                break;
            default:
                break;
        }
    }

    //           
    //    
    int minCount = 0XFFFFFF;
    int zeroCount = 0;
    for (int i = 0; i < 6; i++) {
        if (patEst[i] < minCount) {
            minCount = patEst[i];
        }
        if (patEst[i] == 0) {
            zeroCount++;
        }
    }

    //    minCount PATest
    for (int i = 0; i < minCount; i++) {
        printf("%s", "PATest");
    }
    //       
    for (int i = 0; i < 6; i++) {
        patEst[i] -= minCount;
    }

    //   
    while (true) {
        //       
        int k = 0;
        for (int i = 0; i < 6; i++) {
            if (patEst[i] != 0) {
                printf("%c", patEsts[i]);
                patEst[i]--;
            } else {
                //       ,  
                k++;
            }
        }
        if (k == 6) {
            break;
        }
    }

    return 0;
}

좋은 웹페이지 즐겨찾기