티스토리 뷰
jungol > 문제 > Langauge_Corder > 입력 - 자가진단 5~6
자가진단 5
실수형 서식지정자는 어디 소수점까지 나타낼 수 있는 방법이 있다
그건 바로 %와 실수형 서식지정자의 알파벳 사이에 .x (x는 원하는 소수점)을 넣는 것이다.
ex) printf("%f", 1.2395);
-> printf("%.2f", 1.2395);
출력) 1.2395
-> 1.24
여기서 %.2f에서 .2는 소수점 둘째짜리까지만 출력한다는 의미이다. (반올림이 필요하면 자동으로 반올림한다)
문제에선 정렬되어서 출력되길 원하기 때문에
코드의 서식지정자를 보면 %4.1f, %5.1f 등
%와 f에 정수(4, 5)가 들어있다.
이는 각각 4, 5개의 여백을 만든 뒤 마지막 여백을 기준으로 나머지 여백을 채워나가면서 출력한다는 의미이다.
예제 1
%d에 1, 2, 3을 붙여서
여백 없음, 여백 1개, 여백 2개 , 여백 3개를 만들고 출력했다.
결과를 보면 여백을 만든 다음, 여백 이후에 1이 출력 되는 것이 아닌, 만들어진 여백 중 가장 마지막 여백에 1이 그 자리를 덮고있다!
예제 2
%3d는 여백을 3개 만든 뒤 3번째 여백을 기준으로 왼쪽을 채워나가면서 출력해야 하나,
여백의 수보다 대입된 수의 자릿수가 커서
%d를 통해 출력한 것처럼 나왔다.
(여백보다 대입되는 수가 크면 %d으로 바뀌는 것 같다)
어쨌든 맨 처음에 작성한 코드를 실행해보면...
이렇게 잘 나왔다!
자가진단 6
드디어 입력 함수를 써야 한다!!!
scanf () : scan + function
변수의 주소를 받아서 입력받은 값을 변수에 대입시킨다.
ex)
int a = 0;
scanf("%d", &a);
를 하면 프로그램 실행 시 정수형 값을 변수 a에 직접 대입 할 수 있다.
여기서 &는 변수 앞에 있을 때는 그 변수의 주소 값을 알려준다.
scanf함수는 변수의 주소에 우리가 입력 한 값을 대입시킨다.
입력을 받고, 출력을 하면 된다!
입력값을 받을 변수를 만들고,
scanf()로 입력을 받아, 변수에 집어넣었다!
그러면...
이렇게 나온다!
( scanf()가 실행되고 printf()가 실행될 때
먼저 줄 바꿈이 일어난 뒤, 출력이 이루어집니다)
반복문(while문)을 이용하면...
이렇게 여러 번 실행시킬 수 있다!
코드
자가진단 5
#include <stdio.h>
int main (void)
{
float yd = 0.0;
float in = 0.0;
yd = 2.1;
in = 10.5;
printf("%.4.1fyd = %5.1fcm\n", yd, yd*91.44);
printf("%4.1fin = %5.1fcm", in, in*2.54);
return 0;
}
자가진단 6
#include <stdio.h>
int main (void)
{
int height = 0;
printf("height = ");
scanf("%d", &height");
printf("Your height is %dcm.\n", height);
return 0;
}
'c언어 > jungol' 카테고리의 다른 글
c언어 입력 - 형성평가 1~5 (jungol) (0) | 2022.02.12 |
---|---|
c언어 입력 - 자가진단 7~9 (jungol) (0) | 2022.02.11 |
c언어 입력 - 자가진단 1~4 (jungol) (0) | 2022.02.09 |
c언어 출력 - 형성평가 1~5 (jungol) (0) | 2022.02.08 |
c언어 출력 - 자가진단 5~8 (jungol) (0) | 2022.02.07 |
- Total
- Today
- Yesterday
- 1835
- 덱
- 최대공약수
- 오프라인 쿼리
- union
- BFS
- Mo.s
- C++
- 트리
- Krustal
- DP
- 정렬
- 세그먼트 트리
- 그리디
- 카드
- 6198번
- 누적합
- 스택
- java
- 최소 스패닝 트리
- C언어
- 6198
- 플로이드
- 백준
- 16120번
- 1835번
- 누적 합
- 그래프
- find
- DFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |