문제 |
[기초-입출력] 정수 1개 입력받아 나누어 출력하기(설명) (codeup.kr)
[기초-입출력] 정수 1개 입력받아 나누어 출력하기(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
코드 1 |
#include <stdio.h>
int main() {
int a, b, c, d, e;
scanf("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e);
printf("[%d]\n", a * 10000);
printf("[%d]\n", b * 1000);
printf("[%d]\n", c * 100);
printf("[%d]\n", d * 10);
printf("[%d]", e);
return 0;
}
설명 |
scanf 함수에서 %1d를 사용하면 한 자리 정수만을 입력받을 수 있다.
코드 2 |
#include <iostream>
using namespace std;
int main() {
string s;
cin >> s;
for (int i = 0; i < 5; i++) {
cout << '[' << s[i];
for (int j = 0; j < 4 - i; j++) cout << 0;
cout << "]\n";
}
return 0;
}
설명 |
출력에 하드코딩이 아닌 반복문을 사용했다는 점 외에 특별한 점은 없다.
원래는 pow 함수를 이용해 s[i] * pow(10, 4-i) 같은 식으로 구현하려 했으나
반환 자료형이 double인 pow 함수 특성상 오차가 발생하여 문제가 생겼다.
'PS > CodeUp' 카테고리의 다른 글
[C++] CodeUp (코드업) 1038 : [기초-산술연산] 정수 2개 입력받아 합 출력하기1 (0) | 2022.08.14 |
---|---|
[C++] CodeUp (코드업) 1031 : [기초-출력변환] 10진 정수 1개 입력받아 8진수로 출력하기 (0) | 2022.08.14 |
[C++] CodeUp (코드업) 1024 : [기초-입출력] 단어 1개 입력받아 나누어 출력하기 (0) | 2022.08.13 |
[C++] CodeUp (코드업) 1015 : [기초-입출력] 실수 입력받아 둘째 자리까지 출력하기 (0) | 2022.08.13 |
[C++] CodeUp (코드업) 1010 : [기초-입출력] 정수 1개 입력받아 그대로 출력하기 (0) | 2022.08.13 |