CHAPTER 04 - 0083tony/Core-C-Programming GitHub Wiki
- 1๋ฒ ๋ฌธ์
์ง๋๊ณผ ์๋ ฅ์ ์ค์๋ก ์ ๋ ฅ๋ฐ์ ์ด๋ ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a, b;
printf("์ง๋(kg)? ");
scanf_s("%f", &a);
printf("์๋ ฅ(m/s)? ");
scanf_s("%f", &b);
printf("์ด๋์๋์ง: %.2f J", a / 2 * b * b);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์ง๋(kg)? 2.7
์๋ ฅ(m/s)? 4
์ด๋์๋์ง: 21.60 J
- 2๋ฒ ๋ฌธ์
ํ์จ ์จ๋(F)๋ฅผ ์ค์๋ก ์ ๋ ฅ๋ฐ์ ์ญ์จ ์จ๋(C)๋ก ๋ณํํด์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a;
printf("ํ์จ์จ๋? ");
scanf_s("%f", &a);
printf("%.2f F = %.2f C", a, (a - 32) * 5 / 9);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
ํ์จ์จ๋? 60
60.00 F = 15.56 C
- 3๋ฒ ๋ฌธ์
์ง๋๊ณผ ๋ถํผ๋ฅผ ์ค์๋ก ์ ๋ ฅ๋ฐ์ ๋ฐ๋๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a, b;
printf("์ง๋(g)? ");
scanf_s("%f", &a);
printf("๋ถํผ(์ธ์ ๊ณฑ์ผํฐ๋ฏธํฐ)? ");
scanf_s("%f", &b);
printf("๋ฐ๋: %f", a / b);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์ง๋(g)? 25
๋ถํผ(์ธ์ ๊ณฑ์ผํฐ๋ฏธํฐ)? 1000
๋ฐ๋: 0.025000
- 4๋ฒ ๋ฌธ์
์ฉ๋งค์ ์ง๋๊ณผ ์ฉ์ง์ ์ง๋์ ์ ์๋ก ์ ๋ ฅ๋ฐ์ ์ฉ์ก์ ํผ์ผํธ ๋๋๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a, b;
printf("์ฉ๋งค(g)? ");
scanf_s("%f", &a);
printf("์ฉ์ง(g)? ");
scanf_s("%f", &b);
// %๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด์๋ %%๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
printf("๋๋: %.2f %%", b / (a + b) * 100);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์ฉ๋งค(g)? 100
์ฉ์ง(g)? 15
๋๋: 13.04 %
- 5๋ฒ ๋ฌธ์
๋ฐ์ง๋ฆ๊ณผ ๋์ด๋ฅผ ์ ์๋ก ์ ๋ ฅ๋ฐ์ ์๊ธฐ๋ฅ์ ๋ถํผ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a, b;
printf("๋ฐ์ง๋ฆ์ ๊ธธ์ด? ");
scanf_s("%f", &a);
printf("๋์ด? ");
scanf_s("%f", &b);
printf("์๊ธฐ๋ฅ์ ๋ถํผ: %f", 3.141592 * a * a * b);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
๋ฐ์ง๋ฆ์ ๊ธธ์ด? 5
๋์ด? 10
์๊ธฐ๋ฅ์ ๋ถํผ: 785.398000
- 6๋ฒ ๋ฌธ์
์ A์ ์ขํ (x1, y1)๊ณผ ์ B์ ์ขํ (x2, y2)๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ ์ A, B๋ฅผ ์ง๋๋ ์ง์ ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a, b, c, d;
printf("ํ ์ ์ ์ขํ (x1, y1)? ");
scanf_s("%f %f", &a, &b);
printf("๋ ๋ค๋ฅธ ์ ์ ์ขํ (x2, y2)? ");
scanf_s("%f %f", &c, &d);
printf("์ง์ ์ ๊ธฐ์ธ๊ธฐ: %f", (d - b) / (c - a));
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
ํ ์ ์ ์ขํ (x1, y1)? 10 20
๋ ๋ค๋ฅธ ์ ์ ์ขํ (x2, y2)? 30 40
์ง์ ์ ๊ธฐ์ธ๊ธฐ: 1.000000
- 7๋ฒ ๋ฌธ์
์ง๊ฐ ์ผ๊ฐํ์์ ์ง๊ฐ์ ๋ ๋ ๋ณ a, b์ ๊ธธ์ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๋น๋ณ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
#include<math.h> // sqrt()ํจ์
int main(void) {
double a, b;
printf("๋ฐ๋ณ? ");
scanf_s("%lf", &a);
printf("๋์ด? ");
scanf_s("%lf", &b);
// sqrt() == ๋ฃจํธ ์ฐ์ฐ
printf("๋น๋ณ์ ๊ธธ์ด: %lf", sqrt(a * a + b * b));
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
๋ฐ๋ณ? 10
๋์ด? 20
๋น๋ณ์ ๊ธธ์ด: 22.360680
- 8๋ฒ ๋ฌธ์
๋ฐ์ง๋ฆ์ ๊ธธ์ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ตฌ์ ๋ถํผ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
#include<math.h> //pow()ํจ์
// PI๊ฐ์ ์ ์
#define PI 3.141592
int main(void) {
double a, b;
printf("๋ฐ์ง๋ฆ์ ๊ธธ์ด? ");
scanf_s("%lf", &a);
// base^n ์ ๊ณ์ฐํ๋ ํจ์
b = pow(a, 3);
printf("๊ตฌ์ ๋ถํผ: %lf", 4 * PI * b / 3);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
๋ฐ์ง๋ฆ์ ๊ธธ์ด? 5
๊ตฌ์ ๋ถํผ: 523.598667
- 9๋ฒ ๋ฌธ์
๋์์์ ์ฌ์์๊ฐ์ ์ด ๋จ์๋ก ์ ๋ ฅ๋ฐ์ ๋ช ์๊ฐ ๋ช ๋ถ ๋ช ์ด์ธ์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
int h, m, s;
printf("์ฌ์์๊ฐ(์ด)? ");
scanf_s("%d", &s);
m = s / 60;
h = m / 60;
s = s % 60;
m = m % 60;
printf("์ฌ์์๊ฐ์ %d์๊ฐ %d๋ถ %d์ด์
๋๋ค.", h, m, s);
/*
if๋ฌธ์ ์ฌ์ฉํด ๋ณํ ๊ฐ๋ฅ
if(h == 0 && m != 0) {
printf("์ฌ์์๊ฐ์ %d๋ถ %d์ด์
๋๋ค.", m, s);
}
if (h == 0 && m == 0) {
printf("์ฌ์์๊ฐ์ %d์ด์
๋๋ค.", s);
}
if (h != 0) {
printf("์ฌ์์๊ฐ์ %d์๊ฐ %d๋ถ %d์ด์
๋๋ค.", h, m, s);
}*/
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์ฌ์์๊ฐ(์ด)? 4000
์ฌ์์๊ฐ์ 1์๊ฐ 6๋ถ 40์ด์
๋๋ค.
- 10๋ฒ ๋ฌธ์
ํญ๊ณต๊ถ ์์ฝ ์ ์ฌ์ ์ ์ด ์์์๊ฐ์ ์๊ฐ ๋จ์๋ก ์ ๋ ฅ๋ฐ์์ ๋ฉฐ์น ๋ช ์๊ฐ ๋ช ๋ถ์ธ์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
int day, hour, min;
float a;
printf("๋นํ ์์์๊ฐ(์๊ฐ)? ");
scanf_s("%f", &a);
day = a / 24;
hour = a - day * 24;
min = (a - (int)a) * 60;
printf("๋นํ ์์์๊ฐ์ %d์ผ %d์๊ฐ %d๋ถ ์
๋๋ค.", day, hour, min);
/*์ ์ด๋ฌธ ์ฌ์ฉ
if (a >= 24) {
day = a / 24;
hour = a - day * 24;
min = (a - (int)a) * 60;
printf("๋นํ ์์์๊ฐ์ %d์ผ %d์๊ฐ %d๋ถ ์
๋๋ค.", day, hour, min);
}
else {
hour = a;
min = (a - (int)a) * 60;
printf("๋นํ ์์์๊ฐ์ %d์๊ฐ %d๋ถ ์
๋๋ค.", hour, min);
}*/
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
๋นํ ์์์๊ฐ(์๊ฐ)? 31.5
๋นํ ์์์๊ฐ์ 1์ผ 7์๊ฐ 30๋ถ ์
๋๋ค.
- 11๋ฒ ๋ฌธ์
์ ํ์ ๊ฐ๊ฒฉ๊ณผ ํ ์ธ์จ(%)์ ์ ๋ ฅ๋ฐ์์ ํ ์ธ๊ฐ์ ์๋๋ฆฌ ๊ธ์ก์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a, b;
printf("์ ํ์ ๊ฐ๊ฒฉ? ");
scanf_s("%f", &a);
printf("ํ ์ธ์จ(%%)? ");
scanf_s("%f", &b);
/*์ ์ด๋ฌธ ์ฌ์ฉ
if (b > 100 || b < 0) {
printf("ํ ์ธ์จ์ 0๋ณด๋ค ์๊ฑฐ๋ 100๋ณด๋ค ํด ์ ์๋ค.");
return 0;
}
if (a < 0) {
printf("๋ฌผ๊ฑด์ ๊ฐ์ 0๋ณด๋ค ์์ ์ ์๋ค.");
return 0;
}*/
printf("ํ ์ธ๊ฐ: %.0f์ (%.0f์ ํ ์ธ)", a - a * (b / 100), a * (b / 100));
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์ ํ์ ๊ฐ๊ฒฉ? 24000
ํ ์ธ์จ(%)? 20
ํ ์ธ๊ฐ: 19200์ (4800์ ํ ์ธ)
- 12๋ฒ ๋ฌธ์
๋ค๋น๊ฒ์ด์ ์ฑ์์ ์ด๋๊ฑฐ๋ฆฌ์ ์์ ์๋ ฅ์ผ๋ก ๋์ฐฉ ์์ ์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
float a, b;
int min;
printf("์ด๋ ๊ฑฐ๋ฆฌ(km)? ");
scanf_s("%f", &a);
printf("์์ ์๋ ฅ(km/h)? ");
scanf_s("%f", &b);
// ์
๋ ฅ๋ฐ์ ์ค์๋ฅผ ์ ์ํ์ผ๋ก ๋ณํ
min = int(a / b * 60);
printf("๋์ฐฉ๊น์ง ์์ ์์ ์๊ฐ์ %d๋ถ์
๋๋ค.", min);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์ด๋ ๊ฑฐ๋ฆฌ(km)? 12
์์ ์๋ ฅ(km/h)? 30
๋์ฐฉ๊น์ง ์์ ์์ ์๊ฐ์ 24๋ถ์
๋๋ค.
- 13๋ฒ ๋ฌธ์
์ง์ ์ ์์์ ์ ์ขํ (x1, y1)๊ณผ ๋์ ์ ์ขํ(x2, y2)๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ ์ ์ ์ฐ๊ฒฐํ๋ ์ง์ ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
#include<math.h> // sqrt()ํจ์
int main(void) {
int a, b, c, d;
int x, y;
printf("์ง์ ์ ์์์ (x1, y1)? ");
scanf_s("%d %d", &a, &b);
printf("์ง์ ์ ๋์ (x2, y2)? ");
scanf_s("%d %d", &c, &d);
x = a - c;
y = b - d;
// sqrt() == ๋ฃจํธ ์ฐ์ฐ
printf("์ง์ ์ ๊ธธ์ด: %f", sqrt((x * x) + (y * y)));
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์ง์ ์ ์์์ (x1, y1)? 0 0
์ง์ ์ ๋์ (x2, y2)? 10 20
์ง์ ์ ๊ธธ์ด: 22.360680
- 14๋ฒ ๋ฌธ์
๊ธฐ๋ณธ ์๊ธ๊ณผ ์์ฌ์ฉ๋(kWh)์ ์ ๋ ฅ๋ฐ์ ์ ๊ธฐ ์๊ธ์๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
int a, b;
printf("๊ธฐ๋ณธ ์๊ธ? ");
scanf_s("%d", &a);
printf("์ ์ฌ์ฉ๋(kwh)? ");
scanf_s("%d", &b);
printf("์ ๊ธฐ์๊ธ: %d์", a + b * 190);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
๊ธฐ๋ณธ ์๊ธ? 1600
์ ์ฌ์ฉ๋(kwh)? 320
์ ๊ธฐ์๊ธ: 62400์
- 15๋ฒ ๋ฌธ์
ํ์ ์์๋ฃ์จ์ 1.75%๋ก ์ ํด์ ธ ์๋ค๊ณ ๊ฐ์ ํ๊ณ ์-๋ฌ๋ฌ ๋งค๋งค ๊ธฐ์ค์จ๊ณผ ํ์ ์ฐ๋์จ(%)๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ฌ๋ฌ๋ฅผ ์ด ๋ ์ ์ฉ๋๋ ํ์จ์ ๊ฒฐ์ ํ๊ณ , ๊ตฌ์ ํ๊ณ ์ ํ๋ ๋ฌ๋ฌ๊ฐ ์ผ๋ง์ธ์ง ์ ๋ ฅ๋ฐ์ ๋ช ์์ ํด๋นํ๋์ง ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
double a, b, c;
printf("์/๋ฌ๋ฌ ๋งค๋งค๊ธฐ์ค์จ? ");
scanf_s("%lf", &a);
printf("ํ์จ์ฐ๋์จ(0~100)? ");
scanf_s("%lf", &b);
printf("๋ฌ๋ฌ ์ด ๋ ํ์จ์ %lf์
๋๋ค.", a + (a * 0.0175 * (1 - (0.01 * b))));
printf("\n๊ตฌ์
ํ ๋ฌ๋ฌ(USD)? ");
scanf_s("%lf", &c);
printf("USD %.2lf ์ด ๋ ==> KRW %.2lf", c, c * (a + (a * 0.0175 * (1 - (0.01 * b)))));
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
์/๋ฌ๋ฌ ๋งค๋งค๊ธฐ์ค์จ? 1190
ํ์จ์ฐ๋์จ(0~100)? 70
๋ฌ๋ฌ ์ด ๋ ํ์จ์ 1196.247500์
๋๋ค.
๊ตฌ์
ํ ๋ฌ๋ฌ(USD)? 2000
USD 2000.00 ์ด ๋ ==> KRW 2392495.00
- 16๋ฒ ๋ฌธ์
์ปดํจํฐ ์์คํ ์์ 32๋นํธ ๋ฐ์ดํฐ์ ์ตํ์ ๋ฐ์ดํธ๋ถํฐ red, green, blue์ ์์๋ก 3๊ฐ ์ ๋ ฅ๋ฐ์์ RGB ์์์ ๋ง๋ค์ด์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
int r, g, b;
int color = 0;
printf("red? ");
scanf_s("%d", &r);
printf("green? ");
scanf_s("%d", &g);
printf("blue? ");
scanf_s("%d", &b);
// 255๋ณด๋ค ํฐ ๊ฐ == ์ค๋ฒํ๋ก์ฐ
if (r > 255) {
r = 0;
}
if (g > 255) {
g = 0;
}
if (b > 255) {
b = 0;
}
// ๋นํธ ์ฐ์ฐ or, ์ฌํํธ ์ฐ์ฐ <<
color = color | (r << 16);
color = color | (g << 8);
color = color | b;
// %06X == ๊ฐ์ด 0์ด์ด๋ 000000์ผ๋ก ์ถ๋ ฅ
printf("RGB ํธ๋ฃจ์ปฌ๋ฌ: %06X", color);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
red? 256
green? 255
blue? 128
RGB ํธ๋ฃจ์ปฌ๋ฌ: 00FF80
- 17๋ฒ ๋ฌธ์
32๋นํธ ํฌ๊ธฐ์ ๋ฐ์ดํฐ(๋ถํธ ์๋ ์ ์ํ)์๋ 0~31๋ฒ ๋นํธ๊ฐ ์กด์ฌํ๋ค. 7๋ฒ์งธ๋นํธ๋ง 1์ธ ๊ฐ, 15๋ฒ์งธ๋นํธ๋ง 1์ธ๊ฐ, 23๋ฒ์งธ ๋นํธ๋ง 1์ธ ๊ฐ, 31๋ฒ์ฌ ๋นํธ๋ง 1์ธ ๊ฐ์ ๊ตฌํด์ 16์ง์์ 10์ง์๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main(void) {
unsigned short a = 2;
// ์ฌํํธ ์ฐ์ฐ์ผ๋ก ๊ฐ์ ๊ตฌํ๋ค.
printf(" 7๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: %08x %d\n", a << 6, a << 6);
printf("15๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: %08x %d\n", a << 14, a << 14);
printf("23๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: %08x %d\n", a << 22, a << 22);
printf("31๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: %08x %d\n", a << 30, a << 30);
return 0;
}
[์คํ ๊ฒฐ๊ณผ]
07๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: 00000080 128
15๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: 00008000 32768
23๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: 00800000 8388608
31๋ฒ ๋นํธ๋ง 1์ธ ๊ฐ: 80000000 -2147483648