코드예시👨🏻‍💻▶️ C언어

C언어 알파벳 순서 정렬

코뮤니티 2020. 10. 21. 23:22

문제 내용

C언어에서 알파벳을 입력받아 저장하고, 출력할때 알파벳 순서대로 출력하는 법좀 알려주세요.

 

 

문제 풀이

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void){
        int i, j, len;
        int a, b;
        char st[101];
 
        char tmp[101]; //문자를 임시 저장하는 배열
        int n = 0; //배열에 삽입하기 위한 인덱스 값
        int temp; //차례를 변환하기 위해 임시로 저장하는 변수
 
        scanf("%s", st);
        len = strlen(st);
 
        printf("소문자만 정렬 : ");
        for(i = 0; i < len; i++)
        {
                if(islower(st[i]))
                {
                        tmp[n] = st[i];
                        n++;
                }
        }
        if(n >= 2) //배열의 요소가 2개 이상 존재하여, 정렬이 필요한 경우
        {
                for(i = 0; i < n-1; i++)
                {
                        for(j = i+1; j < n; j++)
                        {
                                if(tmp[i] > tmp[j])
                                {
                                        temp = tmp[i];
                                        tmp[i] = tmp[j];
                                        tmp[j] = temp;
                                }
                        }
                } //순차정렬 알고리즘
        }
        for(i = 0; i < n; i++)
        {
                printf("%c", tmp[i]);
        }
        //배열의 요소만큼 출력
 
        printf("\n");
 
        n = 0; //인덱스값 초기화
 
        printf("대문자만 정렬 : ");
        for(i = 0; i < len; i++)
        {
                if(isupper(st[i]))
                {
                        tmp[n] = st[i];
                        n++;
                }
        }
        if(n >= 2) //배열의 요소가 2개 이상 존재하여, 정렬이 필요한 경우
        {
                for(i = 0; i < n-1; i++)
                {
                        for(j = i+1; j < n; j++)
                        {
                                if(tmp[i] > tmp[j])
                                {
                                        temp = tmp[i];
                                        tmp[i] = tmp[j];
                                        tmp[j] = temp;
                                }
                        }
                } //순차정렬 알고리즘
        }
        for(i = 0; i < n; i++)
        {
                printf("%c",tmp[i]);
        }
        //배열의 요소만큼 출력
 
 
        printf("\n");
 
        return 0;
}

 

코드 결과

입력 : AzbedFC

소문자만 정렬 : bdez
대문자만 정렬 : ACF

 

참고

 

 

나와 어울리는 개발자 유형 찾기

MBTI로 알아보는 개발자 유형 내 안의 개발자를 찾아서...⭐

comu.codeuniv.kr

 

c언어 알파벳 정렬 질문!

대한민국 모임의 시작, 네이버 카페

cafe.naver.com