[쉽게 풀어쓴 C언어 Express] 4장 programming
문제 01) 사용자로부터 하나의 실수를 입력받아서 소수점 표기 방법과 지수 표기 방법으로 동시에 출력하는 프로그램을 작성하여라.
1
2
3
4
5
6
7
8
9
10
11
|
#include<stdio.h>
int main() {
double n;
printf("실수를 입력하시요: ");
scanf("%lf", &n);
printf("실수형식으로는 %f입니다\n", n);
printf("지수형식으로는 %e입니다", n);
return 0;
}
|
cs |
문제 02) 사용자로부터 정수를 16진수로 입력받아서 8진수, 10진수, 16진수 형태로 출력하는 프로그램을 작성하라.
1
2
3
4
5
6
7
8
9
10
11
12
|
#include<stdio.h>
int main() {
int n;
printf("16진수 정수를 입력하시오: ");
scanf("%x", &n);
printf("8진수로는 %04o입니다\n", n);
printf("10진수로는 %d입니다\n", n);
printf("16진수로는 %#x입니다", n);
return 0;
}
|
cs |
문제 03) int형의 변수 x와 y의 값을 서로 교환하는 프로그램을 작성하여 보자. 별도의 변수가 필요하면 정의하여서 사용한다. 변수 x와 y는 10, 20의 값으로 초기화하라.
1
2
3
4
5
6
7
8
9
10
11
12
|
#include<stdio.h>
int main() {
int x = 10, y = 20, p ;
printf("x=%d y=%d\n", x, y);
p = x;
x = y;
y = p;
printf("x=%d y=%d", x, y);
return 0;
}
|
cs |
문제 04) 상자의 부피를 구하는 프로그램을 작성하여 보자. 부피는 길이*너비*높이로 계산된다. 길이, 너비, 높이는 모두 double형의 실수로 입력받아 보자.
1
2
3
4
5
6
7
8
9
|
#include<stdio.h>
int main() {
double w, h, d;
printf("상자의 가로 세로 높이를 한번에 입력: ");
scanf("%lf %lf %lf", &w, &h, &d);
printf("상자의 부피는 %lf입니다.", w * h * d);
return 0;
}
|
cs |
문제 05) 우리나가에서 많이 사용되는 면적의 단위인 평을 제곱미터로 환산하는 프로그램을 작성하시오. 여기서 1평은 3.3m^2이다. 변수들의 자료형은 어떤 것을 선택하는 것이 좋은가? 기호 상수를 이용하여 1평강 제곱미터를 나타내어라.
1
2
3
4
5
6
7
8
9
10
11
|
#include<stdio.h>
#define SQMETER_PER_PYEONG 3.3058;
int main() {
double n, result;
printf("평을 입력하세요: ");
scanf("%lf", &n);
result = n * SQMETER_PER_PYEONG;
printf("%lf평방미터입니다.", result);
return 0;
}
|
cs |
문제 06) 다음과 같은 수식의 값을 계산하여 화면에 출력하는 프로그램을 작성하시오. 지수 표기법을 사용하여 변수들을 초기화한다.
1
2
3
4
5
6
7
|
#include<stdio.h>
int main() {
double sum = 3.32e-3 + 9.76e-8;
printf("%lf", sum);
return 0;
}
|
cs |
문제 07) 물리학에서 운동에너지는 E=mv^2 / 2.0으로 계산된다. 사용자로부터 질량(m)과 속도(v)를 받아서 운동에너지(E)를 계산하는 프로그램을 작성하여 보자. 모든 변수는 double형을 사용하라.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include<stdio.h>
int main() {
double m, v, kenergy=0;
printf("질량(kg): ");
scanf("%lf", &m);
printf("속도(m/s): ");
scanf("%lf", &v);
kenergy = m * v * v * 0.5;
printf("운동에너지(J): %lf", kenergy);
return 0;
}
|
cs |
문제 08) 사용자가 아스키 코드값을 입력하면 그 아스키 코드값에 해당하는 문자를 출력하는 프로그램을 작성하라.
1
2
3
4
5
6
7
8
9
10
|
#include<stdio.h>
int main() {
int str;
printf("아스키 코드값을 입력하시오: ");
scanf("%d", &str);
printf("문자:%c입니다", str);
return 0;
}
|
cs |
문제 09) 'a'+1, 'a'+2, 'a'+3을 문자 형식(%c)으로 출력하는 프로그램을 작성하시오. 이 프로그램에서 알 수 있는 것은 무엇인가?
(이 문제를 통해 알 수 있는 사실은 아스키 코드값이 문자순서대로 나열되어 있다는 사실이다.)
1
2
3
4
5
6
7
|
#include<stdio.h>
int main() {
printf("%c %c %c", 'a' + 1, 'a' + 2, 'a' + 3);
return 0;
}
|
cs |
문제 10) 경보음이 울린 후에 다음과 같은 메시지를 출력하고 다시 경보음이 울리는 프로그램을 작성하여 보자.
1
2
3
4
5
6
7
|
#include<stdio.h>
int main() {
printf("\a화재가 발생하였습니다.");
return 0;
}
|
cs |
문제 11) 다음과 같이 화면에 출력하는 프로그램을 작성하라.
1
2
3
4
5
6
7
8
|
#include<stdio.h>
int main() {
printf("\"ASCII code\", \'A\', \'B\', \'C\'\n");
printf("\\t \\a \\n");
return 0;
}
|
cs |
:)