문제 내용
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
참고
'코드예시👨🏻💻▶️ C언어' 카테고리의 다른 글
C언어 홀수 단 / 짝수 단 구구단 출력 예제 (0) | 2020.10.27 |
---|---|
C언어 입력받은 정수 중 가장 작은 값 찾기 프로그램 (0) | 2020.10.27 |
C언어 (0) | 2020.10.26 |