#1001 출력하기01
어떠한 프로그래밍 언어를 배우든 제일 처음 출력함수에 대해서 배운다. C언어에선 해당 기능을 하는 함수가 printf 이며, 이는 표준입출력 헤더파일(stdio.h)에 정의 되어 있다.
#include <stdio.h>
int main() {
printf("Hello");
return 0;
}
#1002 출력하기02
#include <stdio.h>
int main(){
printf("Hello World");
return 0;
}
#1003 출력하기03
줄 바꾸기 : \n (new line).
#include <stdio.h>
int main(){
printf("Hello\nWorld");
return 0;
}
#1004 출력하기04
작은 따옴표 ' ', 큰 따옴표" "는 그 안에 각각 문자, 문자열이 들어있음을 컴파일러에게 알려주는데, 그렇다고 따옴표 안의 따옴표를 문자로 인식하진 않는다. 이들을 문자 그대로 인식하기 위해서는 앞에 \를 붙여주면 된다.
#include <stdio.h>
int main(){
printf("\'Hello\'");
return 0;
}
#1005 출력하기05
#include <stdio.h>
int main(){
printf("\"Hello World\"");
return 0;
}
#1006 출력하기06
해당 문자열에서 주의해야 할 문자는 맨 처음의 따옴표 "와 중간의 %와 마지막의 따옴표" 이다.
위의 세 기호 앞에 각각 \를 붙여주면 된다.
% -> 형식 지정자.
#include <stdio.h>
int main(){
printf("\"!@#$\%^&*()\"");
return 0;
}
#1007 출력하기07
\도 마찬가지로 출력해주기 위해 앞에 \를 붙여서 \\로 입력해야 한다.
#include <stdio.h>
int main(){
printf("\"C:\\Download\\hello.cpp\"");
return 0;
}
#1008 출력하기08
각각의 특수문자에는 고유의 "유니코드"라는게 부여되는데, C언어 상에서 이 유니코드를 가지고 특수문자를 출력하기 위해선 \u 뒤에 해당하는 유니코드를 입력하면 된다.
#include <stdio.h>
int main(){
printf("\u250C\u252C\u2510\n");
printf("\u251c\u253c\u2524\n");
printf("\u2514\u2534\u2518\n");
return 0;
}
#1010 정수 1개 입력받아 그대로 출력하기
변수 선언: 자료형 변수명;
ex) int x; char ch;
출력하는 함수가 printf였다면 입력하는 함수는 scanf이다. 이 역시 stdio.h에 정의되어 있다.
scanf("% ", &변수);
%뒤의 밑줄에 들어갈 문자는 입력 할 값의 형태에 따라 다르다. 문자를 입력하면 c, 정수를 입력하면 d, 실수를 입력하면 f 혹은 lf 등이 있다.
주의할 점: 변수 앞에 &를 붙이면 변수의 값이 아닌 변수가 할당 된 메모리상의 주소 값을 뜻함.
변수에 저장된 값을 출력할 때에도 형식은 같지만 변수 앞에 &는 붙지 않는다.
printf("% ", 변수);
#include <stdio.h>
int main(){
int x;
scanf("%d", &x);
printf("%d", x);
return 0;
}
#1011 문자 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main(){
char ch;
scanf("%c", &ch);
printf("%c", ch);
return 0;
}
#1012 실수 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main(){
float f;
scanf("%f", &f);
printf("%f", f);
return 0;
}
#1013 정수 2개 입력받아 그대로 출력하기
하나의 scanf에서 여러개를 입력 받는 것도 가능하다.
scanf("%d %d", &x, &y);
위와 같이 작성 한다면 입력 형태는
1 2, 150 200 등과 같이 띄어쓰기로 구분되어 두 개의 정수가 각각 x, y에 저장된다.
#include <stdio.h>
int main(){
int x, y;
scanf("%d %d", &x, &y);
printf("%d %d", x, y);
return 0;
}
#1014 문자 2개 입력받아 순서 바꿔 출력하기
위에는 입력 받은 순서대로 변수를 출력 해주었기에 입력과 출력이 같았지만, 출력을 입력의 반대로 해주고 싶다면 변수의 출력을 반대로 해주면 된다.
#include <stdio.h>
int main(){
char x, y;
scanf("%c %c", &x, &y);
printf("%c %c", y, x);
return 0;
}
#1015 실수 입력받아 둘째 자리까지 출력하기
소수점 아래로 원하는 만큼만 출력하기 위해선, 출력 함수에서%f 대신에 %.3f, %.2f 등과 같이 써주면 된다. 소수점 아래 3번째까지 출력하고 싶다면 %.3f로 출력하면 되고, 이 경우에는 4번째 자리에서 반올림 한 수가 출력된다.
#include <stdio.h>
int main(){
float f;
scanf("%f", &f);
printf("%.2f", f);
return 0;
}
#1017 정수 1개 입력받아 3번 출력하기
여러개를 출력 할 때 꼭 각기 다른 변수들을 출력해야 하는 것은 아니다.
같은 변수를 여러 번 출력하는 것도 가능하다.
#include <stdio.h>
int main(){
int x;
scanf("%d", &x);
printf("%d %d %d", x, x, x);
return 0;
}
#1018 시간 입력받아 그대로 출력하기
두 개의 정수를 띄어쓰기로 구분해서 입력받는 법은 scanf("%d %d", &x, &y); 였다.
만약 두 정수를 입력 받는데 콜론(:)으로 구분해서 입력 받고자 한다면 scanf("%d:%d", &x, &y); 와 같이 작성하면 된다.
#include <stdio.h>
int main(){
int x, y;
scanf("%d:%d", &x, &y);
printf("%d:%d", x, y);
return 0;
}
#1019 연월일 입력받아 그대로 출력하기
입력 예시에 년, 월, 일이 .으로 구분되어 입력 된다고 나와있다.
처음엔
scanf("%d.%d.%d", &y, &m, &d);
printf("%d.%d.%d", y, m, d);
이렇게 작성하였지만 틀렸다. 자세히 보니 출력예시는 2013.08.05와 같이 월, 일이 두 자리수 형태여야 하는데 작성한 대로라면
2013.8.5 처럼 한 자리수 형태로 출력되게 된다. 이처럼 강제로 자리수를 맞춰주는 방법을 찾아보니 만약 두 자리수의 형태로 출력하고자 한다면 %d가 아닌 %02d 로 출력해야 한다.
#include <stdio.h>
int main(){
int y, m, d;
scanf("%d.%d.%d", &y, &m, &d);
printf("%04d.%02d.%02d", y, m, d);
return 0;
}
#1020 주민번호 입력받아 형태 바꿔 출력하기
XXXXXX-XXXXXXX의 형태로 입력받고 -앞의 숫자를 x, -뒤의 숫자를 y에 저장한 후, 이 둘을 이어서 출력하면 된다.
주의할 점은 0으로 시작하는 경우엔 자리수가 달라지기 때문에 x는 6자리로 출력(%06d), y는 7자리로 출력(%07d)해주어야 한다.
#include <stdio.h>
int main(){
int x, y;
scanf("%d-%d", &x, &y);
printf("%06d%07d", x, y);
return 0;
}
'Programming > C' 카테고리의 다른 글
[ProjectH4C] 코딩도장 Unit 17 ~ 19 Write-Up (0) | 2020.07.13 |
---|---|
[ProjectH4C] 코드업(CodeUp) 기초 100제 1081~1100 Write-up (0) | 2020.07.09 |
[ProjectH4C] 코드업(CodeUp) 기초 100제 1061~1080 Write-up (0) | 2020.07.09 |
[ProjectH4C] 코드업(CodeUp) 기초 100제 1041~1060 Write-up (0) | 2020.07.07 |
[ProjectH4C] 코드업(CodeUp) 기초 100제 1021~1040 Write-up (0) | 2020.07.07 |