• 회사정보
  • 주소: 서울특별시 강남구 강남대로 364, 12층 (역삼동, 미왕빌딩)
  • 대표이사: 서한울
  • 사업자등록번호: 144-81-25784
  • 통신판매업신고: 2017-서울영등포-1695호
  • 이메일: hello@a-ha.io
프로그래밍

Q. 자리수 분리하는 프로그램작성질문좀합니다

기본 아바타 정현아빠 2019. 03. 13. 조회수 389


세자리로 이루어진 숫자를 입력받은 후 각각의 자리수를 분리하고 이 자리수를 출력하는 프로그램을 작성해야하는데 어떻게 해야하는지 모르겠네요 ㅠㅠ 우선 아래와 같이 해보았습니다. 조언 부탁드립니다..


#include <stdio.h>
int main(void)
{
int number;
int number_100, number_10, number_1;

printf("정수를 입력하시오: ");
scanf("%d", &number);

number_100 = number / 100;
printf("백의 자리수: %d\n", number_100);

number = number % 100;
number_10 = number / 10;
printf("십의 자리수 : %d\n", number_10);

number = number % 10;
number_1 = number / 1;
printf("일의 자리수 : %d\n", number_1);

return 0;
}

댓글 0

1개의 답변이 있습니다.

질문자 & 큐레이터 채택
유저 프로필 사진
핫플레이스123 답변자인증
호원대학교 3/13/2019 100%의 채택

아래 링크 참고해보세요. 숫자 천 단위, 3자리마다 쉼표(콤마) 넣기; 1000 Number Comma 예제입니다.

[참조글]

다른 언어들에는 숫자 천단위마다 쉼표를 넣는 방법이 제공되거나, 또는 정규식으로 쉽게 구현할 수 있지만, C에서는 좀 힘듭니다.

쉼표 넣기 C소스는 많이 있는데, 마이너스 부호(-)를 처리하지 못하거나, 즉 음수에 콤마를 넣을 수 없거나, 소수점 이하 부분을 처리하지 못하는 등의 문제가 있었습니다. 어제 뉴스그룹에서 좋은 소스를 발견했습니다. 다음의 commify() 라는 함수입니다.

다만, 정수에 쉼표를 넣을 때는, 끝에 마침표가 찍히는 문제가 있어서, 그 마침표를 제거하는 코드를 메인 함수에 추가했습니다.

commify 함수의 3번째 인수인 "int round" 는, 소수점 몇째 자리까지 나타낼지를 지정하는 것입니다.

http://mwultong.blogspot.com/2007/02/c-3-1000-number-comma.html

댓글 1
idolpia 2019.03.14 10:26

답변이 틀리신것 같아요

3자리마다 출력하는게 아니라

123 입력하면

100자리 1

10자리 2

1자리 3

나오라고 하는 질문인것 같습니다