본문 바로가기
  • _^**_
무근본 IT 지식 공유

천 단위로 30억 이상의 정수에 콤마 찍는 c언어 코드

by 크리드로얄워터 2023. 11. 26.
반응형

천 단위로 30억 이상의 정수에 콤마 찍는 c언어 코드


1. main 함수만 사용해서
2. main 함수에서 입력 받은 정수를 사용자 정의 함수에 넘겨주어서 콤마 찍기
3. main 함수에서 입력 받은 정수를 사용자 정의 함수에 넘겨주고 다시 main 함수에서 콤마 찍기



C언어에서 천 단위마다 콤마를 찍는 코드를 작성하려면, 주어진 조건에 따라 두 가지 방법으로 접근할 수 있습니다. 먼저, main 함수에서 입력 받은 정수를 다른 함수에 넘겨주어 콤마를 찍는 방법을 구현합니다. 그 후, 같은 작업을 main 함수 내에서 직접 처리하는 방법으로 구현하겠습니다.

1. 사용자 정의 함수를 통해 콤마 찍기:
• main 함수에서 정수를 입력 받습니다.
• 입력 받은 정수를 사용자 정의 함수 insertCommas에 넘겨줍니다.
• insertCommas 함수에서 천 단위마다 콤마를 삽입하여 결과를 반환합니다.
2. main 함수 내에서 콤마 찍기:
• main 함수에서 정수를 입력 받고, 동일한 로직을 사용하여 직접 천 단위마다 콤마를 삽입합니다.

먼저, 사용자 정의 함수를 통해 콤마를 찍는 코드를 작성하겠습니다. 이 코드는 큰 수를 처리하기 위해 long long int 타입을 사용합니다. 또한, 문자열 처리를 위해 string.h를 포함합니다.


아래는 사용자 정의 함수를 이용하여 천 단위마다 콤마를 찍는 C 언어 코드의 예시입니다.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 사용자 정의 함수 선언
void insertCommas(long long int n, char *result) {
    char numStr[30];
    sprintf(numStr, "%lld", n);  // 숫자를 문자열로 변환

    int numLength = strlen(numStr);
    int commaCount = (numLength - 1) / 3; // 콤마의 개수 계산

    int j = 0;
    for (int i = 0; i < numLength; i++) {
        result[j++] = numStr[i];
        if ((numLength - i - 1) % 3 == 0 && i != numLength - 1) {
            result[j++] = ','; // 천 단위마다 콤마 삽입
        }
    }
    result[j] = '\0'; // 문자열 종료 문자 추가
}

int main() {
    long long int number;
    char result[35];

    printf("Enter a number: ");
    scanf("%lld", &number);

    insertCommas(number, result);
    printf("Number with commas: %s\n", result);

    return 0;
}



이 코드에서는 다음과 같은 작업을 수행합니다:

• insertCommas 함수는 숫자를 문자열로 변환하고, 천 단위마다 콤마를 삽입합니다.
• main 함수에서는 사용자로부터 숫자를 입력 받고, insertCommas 함수를 호출하여 결과를 출력합니다.

이제 main 함수 내에서 직접 콤마를 찍는 코드를 작성하겠습니다. 이 코드는 기본적으로 위의 insertCommas 함수와 유사한 로직을 main 함수 내에서 구현합니다.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    long long int number;
    char numStr[30];
    char result[35];

    printf("Enter a number: ");
    scanf("%lld", &number);

    // 숫자를 문자열로 변환
    sprintf(numStr, "%lld", number);  

    int numLength = strlen(numStr);
    int commaCount = (numLength - 1) / 3; // 콤마의 개수 계산

    int j = 0;
    for (int i = 0; i < numLength; i++) {
        result[j++] = numStr[i];
        if ((numLength - i - 1) % 3 == 0 && i != numLength - 1) {
            result[j++] = ','; // 천 단위마다 콤마 삽입
        }
    }
    result[j] = '\0'; // 문자열 종료 문자 추가

    printf("Number with commas: %s\n", result);

    return 0;
}

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

이 코드에서는 main 함수 내에서 다음과 같은 작업을 수행합니다:

• 사용자로부터 숫자를 입력 받습니다.
• 입력 받은 숫자를 문자열로 변환합니다.
• 문자열을 순회하면서 천 단위마다 콤마를 삽입합니다.
• 결과를 출력합니다.

이 두 코드 모두 C 언어에서 천 단위마다 콤마를 찍는 기본적인 방법을 보여줍니다. 실제 사용 시 입력 값의 범위나 다양한 상황을 고려하여 코드를 조정할 필요가 있습니다.


 

반응형

댓글