카테고리 없음
[C언어 Express] 4장 실습코드 답안
뱌재데
2024. 6. 17. 23:53
728x90
CHAPTER 4. 변수와 자료형
1) 사용자로부터 하나의 실수를 입력받아서 소수점 표기 방법과 지수 표기 방법으로 동시에 출력하는 프로그램을 작성하시오.

#define _CRT_SECURE_NO_WARNINGS //scanf 오류를 무시하는 선언
#include <stdio.h> //표준입출력에 관한 함수들이 정의되어 있는 헤더파일을 포함
int main(void)
{
double x;
printf("실수를 입력하세요: "); //출력
scanf("%lf", &x); //사용자로부터 미지수 입력
//%f는 float형(32bit), %lf는 double형(64bit)
printf("실수 형식으로는 %lf 입니다.\n", x); //계산 결과 출력
printf("지수 형식으로는 %e 입니다", x); //지수표기법 %e 사용
return 0;
}
2) 사용자로부터 정수를 16진수로 입력받아서 8진수, 10진수, 16진수 형태로 출력하는 프로그램을 작성 하시오.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a; //정수형 변수 선언
printf("16진수 정수를 입력하세요.:"); //과제 실행 결과에는 없지만 사용감을 위해 추가한 코드
scanf("%x", &a);
//사용자로부터 16진수로 미지수를 입력받아 변수 a에 저장
//결과 출력 8진수 형식 %o, 10진수 형식 %d, 16진수 형식 %x, 사이에 # 넣어서 0, 0x도 출력
printf("8진수로는 %#o 입니다.\n", a);
printf("10진수로는 %d 입니다.\n", a);
printf("16진수로는 %#x 입니다.\n", a);
return 0;
}
3) int형의 변수 x와 y의 값을 서로 교환하는 프로그램을 작성하시오.
-별도의 변수가 필요하면 정의하여서 사용
– 변수 x와 y는 10, 20으로 초기화
#include <stdio.h> //표준입출력함수
int main(void) {
int x = 10; //변수 선언 및 초기화
int y = 20;
printf("x=%d, y=%d\n", x, y); //원래 값 출력
int tmp; //교환을 위한 새 변수 선언
tmp = x; // tmp가 10이 됨
x = y; //x가 20이 됨
y = tmp; //y가 10이 됨
printf("x=%d, y=%d\n", x, y); //출력
return 0;
}
3) 상자의 부피를 구하는 프로그램을 작성하시오.
– 길이, 높이, 너비는 모두 double형 실수로 입력 받기
#define _CRT_SECURE_NO_WARNINGS //scanf 오류 무시
#include <stdio.h> //표준입출력함수
int main(void) {
double w,h,d; //변수 3개 동시에 선언
printf("상자의 가로 세로 높이를 한번에 입력:");
scanf("%lf %lf %lf", &w, &h, &d); //입력
printf("상자의 부피는 %lf 입니다", w*h*d); //출력
return 0;
}
5) 면적의 단위인 평을 제곱미터로 환산하는 프로그램을
– 1평은 3.3𝑚^2
– 기호 상수 이용하여 1평당 제곱미터 나타내기
#define _CRT_SECURE_NO_WARNINGS
//#define SQMETER_PER_PYEONG 3.3058 //define 함수를 활용해 평당 미터의 계수를 정의
#include <stdio.h> //표준입출력함수
int main(void) {
double py;
const double SQMETER_PER_PYEONG = 3.3058;
printf("평을 입력하십시오:");
sacnf("%lf", &py);
printf("%lf 제곱미터입니다.", py * SQMETER_PER_PYEONG);
return 0;
}
6) 다음과 같은 수식의 값을 계산하여 출력하는 프로그램을 작성하시오.
– 지수 표기법을 사용하여 변수들을 초기화
#include <stdio.h> //표준입출력함수
int main(void) {
double total; //변수 선언
total = 3.32e-3 + 9.76e-8; //변수 초기화, 3.32 * 10의 −3승= 3.32e-3으로 표기할 수 있음
printf("%lf \n", total); //출력
return 0;
}
7) 사용자가 아스키 코드값을 입력하면 그 아스키 코드값에 해당하는 문자를 출력하는 프로그램을 작성하시오.
#define _CRT_SECURE_NO_WARNINGS //scanf 함수 오류 무시
#include <stdio.h> //표준입출력함수
int main(void) {
int num; //정수형 변수 선언
printf("아스키 코드값(0~127)을 입력하시오:"); //입력을 위한 문구
scanf("%d", &num ); //10진수 형태로 입력받음
printf("\n문자 %c 입니다",(char)num); //출력 (char)은 문자형식으로 출력한다는 뜻
return 0; //값 반환
}
8) ‘a’+1, ‘a’+2, ‘a’+3을 문자 형식(%c)으로 출력하는 프로그램을 작성하시오.
#define _CRT_SECURE_NO_WARNINGS //sacnf 함수 오류 무시
#include <stdio.h> //표준입출력함수
int main(void) {
printf("%c %c %c", 'a' + 1, 'a' + 2, 'a' + 3);
//아스키코드는 작은따옴표 형식으로도 출력할 수 있음
return 0;
}
//가성비 구린 코드
#define _CRT_SECURE_NO_WARNINGS //sacnf 함수 오류 무시
#include <stdio.h> //표준입출력함수
int main(void) { //이때까지 배운걸로 짠 코드
int num; //정수형 변수 선언
num = 97; //아스키코드 a는 97
printf("%c %c %c", (char)num + 1, (char)num + 2, (char)num + 3);
//a 다음 문자들을 문자 형식으로 출력
return 0; //값 반환
}
9) 다음과 같이 화면에 출력하는 프로그램을 작성하시오.
#include <stdio.h> //표준입출력함수
int main(void) {
printf(" \"ASCII code\", 'A','B', 'C'\n");
printf("\\t, \\a, \\n");
// \" 큰따옴표 출력, \\ 백슬래시 출력, ' 작은따옴표 출력
//한줄 띄우는 \n 은 printf(" 여기 ")
return 0;
}
10) 경보음이 울린 후에 다음과 같은 메시지를 출력하고 다시 경보음이 울리는 프로그램을 작성하여 보자.
#include <stdio.h> //표준입출력함수
int main(void) {
printf("\a"); //경보음 출력
printf("화재가 발생하였습니다."); //문구 출력
return 0;
}