본문 바로가기

프로그래밍/c/c++

[C] 쉽게 풀어쓴 C EXPRESS 제 4장 Programming 문제 풀이

반응형




1. 사용자로부터 하나의 실수를 입력받아서 소수점 표기 방법과 지수 표기 방법으로 동시에 출력하는 프로그램을 작성하라.


[CODE]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h> 
 
int main(void
{              
    double x; 
 
    printf("실수를 입력하시오: ");
    scanf("%lf"&x); 
 
    printf("실수형식으로는 %lf입니다.\n", x); 
    printf("지수형식으로는 %e입니다.\n", x); 
 
    return 0
cs


[OUTPUT]





2. 사용자로부터 정수를 16진수로 입력받아서 8진수, 10진수, 16진수 형태로 출력하는 프로그램을 작성하라.

[CODE]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h> 
 
int main(void)
{
    int z;
 
    printf("16진수 정수를 입력하시오: ");
    scanf("%x"&z);
 
    printf("8진수로는 %#o입니다.\n", z);
    printf("10진수로는 %d입니다.\n", z);
    printf("16진수로는 %#x입니다.\n", z);
 
    return 0;
}
cs


[OUTPUT]





3. int형의 변수 x와 y의 값을 서로 교환하는 프로그램을 작성하여 보자. 별도의 변수가 필요하면 정의하여서 사용한다. 변수 x와 y는 10, 20의 값으로 초기화하라.

[CODE]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h> 
 
int main(void)
    int x = 10
    int y = 20
    int z;
 
    printf("x=%d y=%d\n", x, y);
 
    z = x;
    x = y;
    y = z;
 
    printf("x=%d y=%d\n", x, y);
 
    return 0;
}
cs


[OUTPUT]





4. 상자의 부피를 구하는 프로그램을 작성하여 보자. 부피는 길이*너비*높이로 계산된다. 길이, 너비, 높이는 모두 double형의 실수로 입력받아 보자.


[CODE]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main(void)
{
    double x, y, z; // 가로,세로,높이
    double output;
 
    printf("상자의 가로,세로,높이를 한번에 입력: ");
    scanf("%lf %lf %lf"&x, &y, &z);
 
    output = x * y * z;
 
    printf("상자의 부피는 %lf입니다.", output);
 
    return 0;
}
cs


[OUTPUT]





5. 우리나라에서 많이 사용되는 면적의 단위인 평을 제곱미터로 환산하는 프로그램을 작성하라. 여기서 1평은 3.3이다. 변수들의 자료형은 어떤 것을 선택하는 것이 좋은가? 기호 상수를 이용하여 1평당 제곱미터를 나타내어라.


[CODE]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main(void)
{
    const double SQMETER_PER_PYEONG = 3.3058;
        // #define SQMETER_PER_PYEONG = 3.3058 으로도 가능
 
    double pyeon,output;
 
    printf("평을 입력하세요: ");
    scanf("%lf"&pyeon);
 
    output = pyeon * SQMETER_PER_PYEONG;
 
    printf("%lf평방미터입니다.", output);
 
    return 0;
}
cs


[OUTPUT]





6. 다음과 같은 수식의 값을 계산하여 화면에 출력하는 프로그램을 작성하라. 지수 표기법을 사용하여 변수들을 초기화한다.




[CODE]


1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(void)
{
    double output;
    
    output = (3.32e-3+ (9.76e-8);
 
    printf("%lf",output);
 
    return 0;
}
cs


[OUTPUT]





7. 물리학에서 운동에너지는 으로 계산된다. 사용자로부터 질량(m)과 속도(v)를 받아서 운동에너지(e)를 꼐산하는 프로그램을 작성하여 보자. 모든 변수는 double형을 사용하라.


[CODE]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(void)
{
    double m, v, E;
 
    printf("질량: ");
    scanf("%lf"&m);
    printf("속도: ");
    scanf("%lf"&v);
 
    E = 0.5 * m * v * v;
 
    printf("운동에너지: %lf",E);
 
    return 0;
}
cs


[OUTPUT]





8. 'a'+1, 'a'+2, 'a'+3을 문자 형식(%c)으로 출력하는 프로그램을 작성하라. 이 프로그램에서 알 수 있는 것은 무엇인가?


[CODE]


1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h> 
 
int main(void)
    printf("%c\n"'a' + 1); 
    printf("%c\n"'a' + 2); 
    printf("%c\n"'a' + 3);
 
    return 0
}
//아스키 코드는 문자순서대로 나열되어있다.
cs


[OUTPUT]





9. 경보음이 울린 후에 다음과 같은 메시지를 출력하고 다시 경보음이 울리는 프로그램을 작성하여 보자.


[CODE]


1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main(void)
{
    printf("\a 화재가 발생하였습니다.");
    // \a는 경보음을 뜻합니다.
    return 0;
}
cs


[OUTPUT]





10. 다음과 같이 화면에 출력하는 프로그램을 작성하라.


[CODE]


1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main(void)
{
    printf("\"ASCII code\", 'A','B','C,\n\\t \\a \\n");
 
    return 0;
}
cs


[OUTPUT]




반응형