[c언어] 문자열 함수 사용 연습 (fgets, isalpha, isdigit, isupper, strcpy, strcat, strlen 등)
2021. 2. 3. 11:24ㆍComputer Science/C
1. 적당한 길이의 문자열을 입력 받는다.
2. 그 안에 존재하는 문자들만을 한 단어로 출력한다.
3. 그 안에 존재하는 숫자들로 한 단어르 ㄹ출력한다.
4. 그 단어 안의 소문자는 대문자로 대문자는 소문자로 바꾼 단어를 출력한다.
5. 문자열단어와 숫자단어를 하나의 단어로 출력하는 프로그램을 작성한다.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
char string[50]; // 입력되는 문자열을 저장
char alphaString1[50]; // 입력문자열에서 알파벳만 저장
char alphaString2[50]; // 대소문자를 바꿈
char digitString[50];
char convertedString[50]; // 문자들과 숫자들로 재배열한 문자열
int i, j = 0, k = 0;
printf("문자열을 입력하세요: ");
fgets(string, sizeof(string), stdin);
for (i = 0; string[i] != '\0'; i++) {
if (isalpha(string[i]) != 0) {
alphaString1[j] = string[i];
j++;
}
else if (isdigit(string[i]) != 0) {
digitString[k] = string[i];
k++;
}
}
printf("문자들은 %s\n", alphaString1);
printf("숫자들은 %s\n", digitString);
j = 0;
for (i = 0; alphaString1[i] != '\0'; i++) {
if (islower(alphaString1[i]) != 0) {
alphaString2[j] = toupper(alphaString1[i]);
j++;
}
else if (isupper(alphaString1[i]) != 0) {
alphaString2[j] = tolower(alphaString1[i]);
j++;
}
}
strcpy(convertedString, alphaString2);
strcat(convertedString, digitString);
printf("대소문자를 바꾼 문자들은 %s\n", alphaString2);
printf("문자들과 숫자들로 재배열한 문자열은 %s\n", convertedString);
}
입력 값 : ab1cd23e
결과는 아래와 같다.

'Computer Science > C' 카테고리의 다른 글
[c언어] 학생의 시험 평균 구하기 (구조체) (0) | 2021.02.03 |
---|---|
[c언어] 주민등록번호 입력 받아서 평균 수명 구하기 / 문자열 함수 연습 (strtok, strncpy 등) (0) | 2021.02.03 |
[c언어] 10진수를 2진수로 변환하여 출력하기 (재귀호출) (0) | 2021.02.03 |
[c언어] 2차원 배열과 포인터 (0) | 2020.12.22 |
[c언어] 난수의 합과 가장 큰 수 구하기 (1차원 배열과 포인터) (0) | 2020.12.21 |