C언어로 천 단위 콤마 찍기 프로그램 구현하기
C언어로 천 단위 콤마 찍기 프로그램 구현하기
C 언어를 사용하여 천 단위마다 콤마를 찍어주는 프로그램을 작성하는 방법에 대해 알아보겠습니다. 이 프로그램은 문자열 처리, 조건문, 반복문, 사용자 정의 함수 등 다양한 프로그래밍 기술을 활용합니다. 아래의 소스 코드를 참고하시기 바랍니다.
코드: thousands_separator.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#define BUFFER_SIZE 50 // 문자열 길이를 상수로 정의
// 입력된 문자열이 숫자로만 구성되어 있는지 검사하는 함수
bool is_valid_number(const char* str)
{
while (*str)
{
if (*str < '0' || *str > '9')
{
return false; // 숫자가 아닌 문자가 있을 경우 false 반환
}
str++;
}
return true; // 모든 문자가 숫자일 경우 true 반환
}
int main(void)
{
int len;
int i;
char buffer[BUFFER_SIZE]; // 문자열을 저장할 버퍼
char* digits; // 문자열 포인터
printf("변환시킬 숫자를 입력하세요... => ");
scanf("%s", buffer); // 사용자로부터 문자열 입력 받음
// 입력된 문자열이 유효한 숫자인지 검사
if (!is_valid_number(buffer))
{
printf("유효한 숫자가 아닙니다.\n");
return 1; // 유효하지 않은 경우 프로그램 종료
}
len = strlen(buffer); // 문자열 길이 계산
digits = buffer; // 포인터에 버퍼 주소 할당
printf("변환 결과 : ");
// 문자열을 역순으로 출력하며 천 단위마다 콤마를 추가
for (i = len; i > 0;)
{
printf("%c", *digits++);
i--;
if (i > 0 && (i % 3) == 0)
{
printf(",");
}
}
printf("\n");
return 0; // 정상 종료
}
변환시킬 숫자를 입력하세요... => 100000000
변환 결과 : 100,000,000
이 프로그램은 다음과 같은 절차로 작동합니다.
- 사용자로부터 숫자를 입력 받습니다.
- 입력 받은 문자열이 유효한 숫자인지 검사합니다. 이를 위해 is_valid_number 함수를 사용합니다.
- 문자열의 길이를 계산하고, 문자열 포인터에 문자열 버퍼의 주소를 할당합니다.
- 문자열을 역순으로 출력하면서 천 단위마다 콤마를 추가합니다. 이 과정은 for 문을 사용하여 구현하였습니다.
이 프로그램을 통해 문자열 처리, 사용자 정의 함수, 조건문 및 반복문 등의 다양한 프로그래밍 기법을 익힐 수 있습니다. 이러한 기술들을 활용하여 다양한 문제를 해결할 수 있으므로, 반드시 숙지하시기 바랍니다. 이상으로 C 언어를 사용한 천 단위 콤마 찍기 프로그램 구현하기를 마치겠습니다.
Comments
Comments are closed