본문 바로가기

C/쉽게 풀어쓴 C언어 Express

쉽게 풀어쓴 C언어 Express 4장 Programming

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

 

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

 

 

 

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

 

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

 

 

 

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

 

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

 

 

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

 

1
2
3
4
5
6
7
8
9
10
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    double w, d, h;
    printf("상자의 가로 세로 높이를 한번에 입력: ");
    scanf("%lf %lf %lf"&w, &d, &h);
    printf("상자의 부피는 %lf입니다.", w * d * h);
    return 0;
}
cs

 

 

 

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

 

1
2
3
4
5
6
7
8
9
10
11
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    const double P = 3.3058;
    double n;
    printf("평을 입력하세요: ");
    scanf("%lf"&n);
    printf("%lf평방미터입니다.", n * P);
    return 0;
}
cs

 

 

 

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

 

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

 

 

      

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    double m, v, e;
    printf("질량(kg): ");
    scanf("%lf"&m);
    printf("속도(m/s): ");
    scanf("%lf"&v);
    
    e = m * v * v / 2.0;
    printf("운동에너지(J): %lf", e);
    return 0;
}
cs

 

 

 

08 사용자가 아스키 코드값을 입력하면 그 아스키 코드값에 해당하는 문자를 출력하는 프로그램을 작성하라.

 

1
2
3
4
5
6
7
8
9
10
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int a;
    printf("아스키 코드값을 입력하시오: ");
    scanf("%d"&a);
    printf("문자:%c입니다.", a);
    return 0;
}
cs

 

 

 

09 'a'+1, 'a'+2, 'a'+3을 문자 형식(%c)으로 출력하는 프로그램을 작성하시오.

 

1
2
3
4
5
6
#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
8
#include <stdio.h>
 
int main() {
    printf("\a");
    printf("화재가 발생하였습니다.");
    printf("\a");
    return 0;
}
cs

 

 

 

11 다음과 같이 출력하는 프로그램을 작성하라.

 

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