C/쉽게 풀어쓴 C언어 Express

[쉽게 풀어쓴 C언어 Express] 4장 programming

2_minggu 2022. 7. 29. 22:46

문제 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

 

:)