카테고리 없음

[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;
}