코드업 C언어 기초 100제 풀어보기 !
1001. 출력하기01
#include <stdio.h>
int main() {
printf("Hello");
return 0;
}
1002. 출력하기02
#include <stdio.h>
int main() {
printf("Hello World");
return 0;
}
1003. 출력하기03
#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
#include <stdio.h>
int main() {
printf("\u250C\u252C\u2510\n");
printf("\u251C\u253C\u2524\n");
printf("\u2514\u2534\u2518\n");
return 0;
}
1010. 정수 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%d", n);
return 0;
}
1011. 문자 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main() {
char c;
scanf("%c", &c);
printf("%c", c);
return 0;
}
1012. 실수 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main() {
float f;
scanf("%f", &f);
printf("%f", f);
return 0;
}
1013. 정수 2개 입력받아 그대로 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d%d", &a, &b);
printf("%d %d", a, b);
return 0;
}
1014. 문자 2개 입력받아 순서 바꿔 출력하기
공백 주의!!
#include <stdio.h>
int main() {
char a, b;
scanf("%c %c", &a, &b);
printf("%c %c", b, a);
return 0;
}
1015. 실수 입력받아 둘째 자리까지 출력하기
#include <stdio.h>
int main() {
float x;
scanf("%f", &x);
printf("%.2f", x);
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. 시간 입력받아 그대로 출력하기
#include <stdio.h>
int main() {
int h, m;
scanf("%d:%d", &h, &m);
printf("%d:%d", h, m);
return 0;
}
1019. 연월일 입력받아 그대로 출력하기
자릿수 주의!!
#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. 주민번호 입력받아 형태 바꿔 출력하기
#include <stdio.h>
int main() {
int f, b;
scanf("%d-%d", &f, &b);
printf("%06d%07d", f, b);
return 0;
}
1021. 단어 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main() {
char x[51];
scanf("%s", &x);
printf("%s", x);
return 0;
}
1022. 문장 1개 입력받아 그대로 출력하기
#include <stdio.h>
int main() {
char str[2001];
fgets(str, 2000, stdin);
printf("%s", str);
return 0;
}
1023. 실수 1개 입력받아 부분별로 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d.%d", &a, &b);
printf("%d\n", a);
printf("%d", b);
return 0;
}
1024. 단어 1개 입력받아 나누어 출력하기
' 와 " 의 사용법에 주의!!
#include <stdio.h>
int main() {
char str[21];
scanf("%s", &str);
for (int i = 0; str[i] != '\0'; i++) {
printf("\'%c\'\n", str[i]);
}
return 0;
}
1025. 정수 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]\n", e);
return 0;
}
1026. 시분초 입력받아 분만 출력하기
#include <stdio.h>
int main() {
int h, m, s;
scanf("%d:%d:%d", &h, &m, &s);
printf("%d", m);
return 0;
}
1027. 년월일 입력받아 형식 바꿔 출력하기
#include <stdio.h>
int main() {
int y, m, d;
scanf("%d.%d.%d", &y, &m, &d);
printf("%02d-%02d-%04d", d, m, y);
return 0;
}
1028. 정수 1개 입력받아 그대로 출력하기2
#include <stdio.h>
int main() {
unsigned int n;
scanf("%u", &n);
printf("%u", n);
return 0;
}
1029. 실수 1개 입력받아 그대로 출력하기2
#include <stdio.h>
int main() {
double f;
scanf("%lf", &f);
printf("%.11lf", f);
return 0;
}
1030. 정수 1개 입력받아 그대로 출력하기3
#include <stdio.h>
int main() {
long long int n;
scanf("%lld", &n);
printf("%lld", n);
return 0;
}
1031. 10진 정수 1개 입력받아 8진수로 출력하기
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%o", n);
return 0;
}
1032. 10진 정수 입력받아 16진수로 출력하기1
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%x", n);
return 0;
}
1033. 10진 정수 입력받아 16진수로 출력하기2
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%X", n);
return 0;
}
1034. 8진 정수 1개 입력받아 10진수로 출력하기
#include <stdio.h>
int main() {
int n;
scanf("%o", &n);
printf("%d", n);
return 0;
}
1035. 16진 정수 1개 입력받아 8진수로 출력하기
#include <stdio.h>
int main() {
int n;
scanf("%x", &n);
printf("%o", n);
return 0;
}
1036. 영문자 1개 입력받아 10진수로 출력하기
#include <stdio.h>
int main() {
char c;
scanf("%c", &c);
printf("%d", c);
return 0;
}
1037. 정수 입력받아 아스키 문자로 출력하기
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%c", n);
return 0;
}
1038. 정수 2개 입력받아 합 출력하기1
#include <stdio.h>
int main() {
long a, b;
scanf("%ld %ld", &a, &b);
printf("%ld", a + b);
return 0;
}
1039. 정수 2개 입력받아 합 출력하기2
#include <stdio.h>
int main() {
long long a, b;
scanf("%lld %lld", &a, &b);
printf("%lld", a + b);
return 0;
}
1040. 정수 1개 입력받아 부호 바꿔 출력하기
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
printf("%d", -n);
return 0;
}
1041. 문자 1개 입력받아 다음 문자 출력하기
#include <stdio.h>
int main() {
char c;
scanf("%c", &c);
printf("%c", c + 1);
return 0;
}
1042. 정수 2개 입력받아 나눈 몫 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a / b);
return 0;
}
1043. 정수 2개 입력받아 나눈 나머지 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a % b);
return 0;
}
1044. 정수 1개 입력받아 1 더해 출력하기
#include <stdio.h>
int main() {
long n;
scanf("%ld", &n);
printf("%ld", ++n);
return 0;
}
1045. 정수 2개 입력받아 자동 계산하기
#include <stdio.h>
int main() {
long a, b;
scanf("%ld %ld", &a, &b);
printf("%ld\n", a + b);
printf("%ld\n", a - b);
printf("%ld\n", a * b);
printf("%ld\n", a / b);
printf("%ld\n", a % b);
printf("%.2f", (float)a / (float)b);
return 0;
}
1046. 정수 3개 입력받아 합과 평균 출력하기
#include <stdio.h>
int main() {
long a, b, c;
scanf("%ld %ld %ld", &a, &b, &c);
printf("%ld\n", a + b + c);
printf("%.1f", (float)(a + b + c) / 3);
return 0;
}
1047. 정수 1개 입력받아 2배 곱해 출력하기
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
printf("%d", a<<1);
return 0;
}
1048. 한 번에 2의 거듭제곱 배의 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a<<b);
return 0;
}
1049. 두 정수 입력받아 비교하기1
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a > b);
return 0;
}
1050. 두 정수 입력받아 비교하기2
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a == b);
return 0;
}
1051. 두 정수 입력받아 비교하기3
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a <= b);
return 0;
}
1052. 두 정수 입력받아 비교하기4
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a != b);
return 0;
}
1053. 참 거짓 바꾸기
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
printf("%d", !a);
return 0;
}
1054. 둘 다 참일 경우만 참 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a && b);
return 0;
}
1055. 하나라도 참이면 참 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a || b);
return 0;
}
1056. 참/거짓이 서로 다를 때에만 참 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", ((!a&&b) || (a&&!b)));
return 0;
}
1057. 참/거짓이 서로 같을 때에만 참 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a == b);
return 0;
}
1058. 둘 다 거짓일 경우만 참 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", (a == 0) && (b == 0));
return 0;
}
1059. 비트 단위로 NOT하여 출력하기
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
printf("%d", ~a);
return 0;
}
1060. 비트단위로 AND하여 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a & b);
return 0;
}
1061. 비트단위로 OR하여 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a | b);
return 0;
}
1062. 비트단위로 XOR하여 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a ^ b);
return 0;
}
1063. 두 정수 입력받아 큰 수 출력하기
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a > b ? a : b);
return 0;
}
1064. 정수 3개 입력받아 가장 작은 수 출력하기
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%d", ((a > b) ? b : a) < c ? ((a > b) ? b : a): c);
return 0;
}
1065. 정수 3개 입력받아 짝수만 출력하기
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (!(a % 2)) {
printf("%d\n", a);
}
if (!(b % 2)) {
printf("%d\n", b);
}
if (!(c % 2)) {
printf("%d\n", c);
}
return 0;
}
1066. 정수 3개 입력받아 짝/홀 출력하기
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (!(a % 2)) {
printf("even\n");
} else {
printf("odd\n");
}
if (!(b % 2)) {
printf("even\n");
} else {
printf("odd\n");
}
if (!(c % 2)) {
printf("even\n");
} else {
printf("odd\n");
}
return 0;
}
1067. 정수 1개 입력받아 분석하기
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
if (a > 0) {
printf("plus\n");
} else {
printf("minus\n");
}
if (a % 2) {
printf("odd");
} else {
printf("even");
}
return 0;
}
1068. 정수 1개 입력받아 평가 출력하기
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d", &a);
if (a >= 90) {
printf("A\n");
} else {
if (a >= 70) {
printf("B\n");
} else {
if (a >= 40) {
printf("C\n");
} else {
printf("D\n");
}
}
}
return 0;
}
1069. 평가 입력받아 다르게 출력하기
#include <stdio.h>
int main() {
char s;
scanf("%c", &s);
switch(s) {
case 'A':
printf("best!!!");
break;
case 'B':
printf("good!!");
break;
case 'C':
printf("run!");
break;
case 'D':
printf("slowly~");
break;
default:
printf("what?");
}
return 0;
}
1070. 월 입력받아 계절 출력하기
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
switch(n) {
case 12:
case 1:
case 2:
printf("winter");
break;
case 3:
case 4:
case 5:
printf("spring");
break;
case 6:
case 7:
case 8:
printf("summer");
break;
default:
printf("fall");
}
return 0;
}
1071. 0 입력될때까지 무한 출력하기1
#include <stdio.h>
int main() {
int n;
re:
scanf("%d", &n);
if (n != 0) {
printf("%d\n", n);
goto re;
}
return 0;
}
1072. 정수 입력받아 계속 출력하기
n-- 으로 판단하면 안됨 주의!
#include <stdio.h>
int main() {
int n, m;
scanf("%d", &n);
re:
scanf("%d", &m);
printf("%d\n", m);
if (--n != 0) goto re;
return 0;
}
1073. 0 입력될때까지 무한 출력하기2
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
while (n != 0) {
printf("%d\n", n);
scanf("%d", &n);
}
return 0;
}
1074. 정수 1개 입력받아 카운트다운 출력하기1
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
while (n > 0) {
printf("%d\n", n--);
}
return 0;
}
1075. 정수 1개 입력받아 카운트다운 출력하기2
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
while (n-- > 0) {
printf("%d\n", n);
}
return 0;
}
1076. 문자 1개 입력받아 알파벳 출력하기
#include <stdio.h>
int main() {
char c, s;
s = 'a';
scanf("%c", &c);
do {
printf("%c\n", s);
s++;
}
while (s <= c);
return 0;
}
1077. 정수 1개 입력받아 그 수까지 출력하기
#include <stdio.h>
int main() {
int i, n;
scanf("%d", &n);
for (i = 0; i <= n; i++) {
printf("%d\n", i);
}
return 0;
}
1078. 짝수 합 구하기
#include <stdio.h>
int main() {
int i, n, ans = 0;
scanf("%d", &n);
for (i = 2; i <= n; i += 2) {
ans += i;
}
printf("%d", ans);
}
1079. 원하는 문자가 입력될 때까지 반복 출력하기
#include <stdio.h>
int main() {
char c;
do {
scanf("%c ", &c);
printf("%c\n", c);
}
while (c != 'q');
return 0;
}
1080. 언제까지 더해야 할까?
#include <stdio.h>
int main() {
int i, n, a = 0;
scanf("%d", &n);
for (i = 1; a < n; i++) {
a += i;
}
printf("%d", i - 1);
return 0;
}
1081. 주사위를 2개 던지면?
#include <stdio.h>
int main() {
int i, j, n, m;
scanf("%d %d", &n, &m);
for (i = 1; i <= n; i++) {
for (j = 1; j <= m; j++) {
printf("%d %d", i, j);
printf("\n");
}
}
return 0;
}
1082. 16진수 구구단?
#include <stdio.h>
int main() {
int n, i;
scanf("%x", &n);
for (int i = 1; i < 16; i++) {
printf("%X%c%X%c%X\n", n, '*', i, '=', n * i);
}
return 0;
}
1083. 3 6 9 게임의 왕이 되자!
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
if (i % 3 == 0) {
printf("%c ", 'X');
} else {
printf("%d ", i);
}
}
return 0;
}
1084. 빛 섞어 색 만들기
#include <stdio.h>
int main() {
int r, g, b, i, j, k, cnt = 0;
scanf("%d %d %d", &r, &g, &b);
for (int i = 0; i < r; i++) {
for (int j = 0; j < g; j++) {
for (int k = 0; k < b; k++) {
printf("%d %d %d\n", i, j, k);
cnt++;
}
}
}
printf("%d", cnt);
return 0;
}
1085. 소리 파일 저장용량 계산하기
#include <stdio.h>
int main() {
float h, b, c, s;
scanf("%f %f %f %f", &h, &b, &c, &s);
printf("%.1f %s", (h * b * c * s) / 1024 / 8 / 1024, "MB");
return 0;
}
1086. 그림 파일 저장용량 계산하기
#include <stdio.h>
int main() {
float r, g, b;
scanf("%f %f %f", &r, &g, &b);
printf("%.2f %s", (r * g * b) / 1024 / 1024 /8, "MB");
return 0;
}
1087. 여기까지! 이제 그만~
#include <stdio.h>
int main() {
int i, n, s = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
if (s >= n) {
break;
} else {
s += i;
}
}
printf("%d", s);
return 0;
}
1088. 3의 배수는 통과?
#include <stdio.h>
int main() {
int i, n;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
if (i % 3 != 0) {
printf("%d ", i);
}
}
return 0;
}
1089. 수 나열하기 1
#include <stdio.h>
int main() {
int a, d, n;
scanf("%d %d %d", &a, &d, &n);
printf("%d", a + (d * (n - 1)));
return 0;
}
1090. 수 나열하기2
수의 범위에 주의
#include <stdio.h>
int main() {
long i, a, r, n;
scanf("%ld %ld %ld", &a, &r, &n);
for (int i = 1; i < n; i++) {
a *= r;
}
printf("%ld", a);
return 0;
}
1091. 수 나열하기3
#include <stdio.h>
int main() {
long i, a, m, d, n;
scanf("%ld %ld %ld %ld", &a, &m, &d, &n);
for (int i = 1; i < n; i++) {
a = a * m + d;
}
printf("%ld", a);
return 0;
}
1092. 함께 문제 푸는 날
#include <stdio.h>
int main() {
int n = 0, a, b, c;
scanf("%d %d %d", &a, &b, &c);
do {
n += a;
}
while (n % b != 0 || n % c != 0);
printf("%d", n);
return 0;
}
1093. 이상한 출석번호 부르기1
#include <stdio.h>
int main() {
int i, n, c;
int arr[24] = {};
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &c);
arr[c] += 1;
}
for (i = 1; i <= 23; i++) {
printf("%d ", arr[i]);
}
return 0;
}
1094. 이상한 출석번호 부르기2
#include <stdio.h>
int main() {
int n, c;
scanf("%d", &n);
int arr[10000] = {};
for (int i = 0; i < n; i++) {
scanf("%d", &c);
arr[i] = c;
}
for (int i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
1095. 이상한 출석번호 부르기3
#include <stdio.h>
int main() {
int n, c, a = 25;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &c);
if (c < a) {
a = c;
}
}
printf("%d", a);
return 0;
}
1096. 바둑판에 흰 돌 놓기
#include <stdio.h>
int main() {
int n, x, y;
scanf("%d", &n);
int arr[20][20] = {};
for (int i = 0; i < n; i++) {
scanf("%d %d", &x, &y);
arr[x][y] = 1;
}
for (int i = 1; i <= 19; i++) {
for (int j = 1; j <= 19; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
1097. 바둑알 십자 뒤집기
#include <stdio.h>
int main() {
int arr[20][20] = {};
int n; // 뒤집기 횟수
for (int i = 1; i <= 19; i++) {
for (int j = 1; j <= 19; j++) {
scanf("%d", &arr[i][j]);
}
}
scanf("%d", &n);
while (n > 0) {
int a, b; // x좌표, y좌표
scanf("%d %d", &a, &b);
for (int k = 1; k <= 19; k++) {
arr[a][k] = abs(arr[a][k] - 1);
arr[k][b] = abs(arr[k][b] - 1);
}
n--;
}
for (int i = 1; i <= 19; i++) {
for (int j = 1; j <= 19; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
1098. 설탕과자 뽑기
#include <stdio.h>
int main() {
int h, w, n, l, d, x, y;
scanf("%d %d", &h, &w); // 세로, 가로
scanf("%d", &n); // 막대의 개수
int arr[101][101] = {};
for (int i = 0; i < n; i++) {
scanf("%d %d %d %d", &l, &d, &x, &y);
if (d == 0) { // 가로로 놓는 경우
for (int k = 0; k < l; k++) {
arr[x][y + k] = 1;
}
} else { // 세로로 놓는 경우
for (int k = 0; k < l; k++) {
arr[x + k][y] = 1;
}
}
}
for (int i = 1; i <= h; i++) {
for (int j = 1; j <= w; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
1099. 성실한 개미
#include <stdio.h>
int main() {
int maze[11][11] = {};
int tf = 1;
int x = 2;
int y = 2;
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
scanf("%d", &maze[i][j]);
}
}
while (tf == 1) {
// 종료조건
// 먹이를 찾은 경우 / 끝에 도착한 경우
if (maze[x][y] == 2 || x == 10 && y == 10) {
maze[x][y] = 9;
break;
}
if (x == 10 || y == 10) {
break;
}
maze[x][y] = 9;
// 오른쪽으로 가는 경우
if (maze[x][y + 1] != 1) {
y++;
continue;
} else {
x++;
continue;
}
}
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
printf("%d ", maze[i][j]);
}
printf("\n");
}
return 0;
}
'TIL' 카테고리의 다른 글
[Docker] Docker 기본 개념 (0) | 2024.01.09 |
---|---|
Docker Container (1) | 2024.01.05 |
WebSquare 2 - 개요 (0) | 2023.08.01 |
IT 전체 영역 큰 그림 보기 (0) | 2023.07.05 |
객체지향 설계 5원칙 - SOLID (0) | 2023.07.04 |