C언어 기초 연습문제2

2022. 1. 7. 19:37문제/C연습문제

1. 다음과 같은 결과가 출력되게 심볼릭 상수를 이용하여 프로그램을 작성하시오.

올해는 2010년입니다.
내 나이는 20살입니다.
나는 1990년에 태어나 20번째 해가 되었습니다.
내 동생의 나이는 18살입니다.
내 동생은 1992년에 태어나 18번째 해가 되었습니다.
계속하려면 아무 키나 누르십시오...
#include <stdio.h>

#define currenYear  2010
#define myAge  20

int main(void)
{
	const int brotherAge = 18;

	printf("올해는 %d년입니다.\n", currenYear);
	printf("내 나이는 %d살입니다.\n", myAge);
	printf("나는 %d년에 태어나 %d번째 해가 되었습니다.\n", currenYear - myAge, myAge);
	printf("내 동생의 나이는 %d입니다.\n", brotherAge);
	printf("내 동생은 %d년에 태어나 %d번째 해가 되었습니다.\n", currenYear - brotherAge, brotherAge);

	return 0;
}

#define과, const를 이용해 심볼릭 상수를 구현

 

 

 

 

 

2. 소문자 a를 저장하는 변수를 하나 만들고,  ASCII 코드 표를 참고하여 대문자 A를 출력하는 프로그램을 작성하세요.

#include <stdio.h>

int main(void)
{
	char draw = 'a';

	printf("변환 전 변수 : %c \n",draw);
	
	printf("변환 후 변수 : %c \n", draw-32);

	return 0;
}

 

 

 

 

 

3.키보드로 부터 세 정수를 입력받아 (x+y)*(x+z)/(y%z)를 출력하는 프로그램을 작성하세요.

#include <stdio.h>

int main(void)
{
	int x, y, z;

	printf("Input x : ");
	scanf_s("%d", &x);

	printf("Input y : ");
	scanf_s("%d", &y);

	printf("Input z : ");
	scanf_s("%d", &z);

	printf("(x+y)*(x+z)/(y%%z)=%d", (x + y) * (x + z) / (y % z));
    
    return 0;
}

 

 

 

 

4.두 수를 입력받아서 둘 중 작은 값을 구하여  출력하는 프로그램을 작성하세요. 단, 두 수가 같으면 '같음'을 출력합니다.

#include <stdio.h>

int main(void)
{
	int x, y;

	printf("Input x : ");
	scanf_s("%d", &x);

	printf("Input y : ");
	scanf_s("%d", &y);

	(x == y) ? printf("smaller Number :같음") : (x > y) ? printf("smaller Number :%d", y) : printf("smaller Number :%d", x);

	return 0;
}

 

 

 

 

 

5. 사용자로부터 정수 세 개를 입력받아 정수형 변수 a,b,c에 각각 저장한 후 , 조건 연산자를 사용하여 이들 변수 중 가장 큰 값을 출력하는 프로그램을 작성하세요.

 

#include <stdio.h>

int main(void)
{
	int x, y,z;

	printf("Input x : ");
	scanf_s("%d", &x);

	printf("Input y : ");
	scanf_s("%d", &y);

	printf("Input z : ");
	scanf_s("%d", &z);

	(x > y) ? (y > z) ? printf("가장 큰 수 :%d", x) : (x > z) ? printf("가장 큰 수 :%d", x) : printf("가장 큰 수 :%d", z) : (y > z) ? printf("가장 큰 수 :%d", y) : printf("가장 큰 수 :%d", z);
	return 0;
}

 

 

 

 

6.다음 내용의 답을 출력하도록 프로그램을 작성하세요.

인간의 수명이 100년이라고 가정하고, 담배 한 개피를 피우면 수명이 2분 단축된다. 어떤 사람이 성인이 된 후부터 담배를 20년간 피웠다면 수명은 얼마나 단축되었고, 몇 살 까지 살 수 있는가?
#include <stdio.h>

int main(void)
{
	int smoke,smokeYear;
	double decrease,safeLife;
	
	printf("당신이 하루에 핀 담배량(개피)를 적어주세요 : ");
	scanf_s("%d", &smoke);
	printf("흡연 연차를 적어주세요 : ");
	scanf_s("%d", &smokeYear);
	 
	decrease = smoke * 2*smokeYear*365;
	safeLife =100 - (decrease / 525600);

	printf("당신의 수명은 %.f분이 단축되었으며, %.2f살 까지 살 수 있습니다.",decrease, safeLife);

	return 0;
}

 

 

 

 

7. 1파운드(Pound)는 0.45kg입니다. 밀가루 150파운드는 몇 kg인지를 계산하는 프로그램을 작성하세요.

#include <stdio.h>

int main(void)
{
	int pound;
	
	printf("밀가루 파운드를 적어주세요 : ");
	scanf_s("%d", &pound);

	printf("밀가루는 %.2fkg입니다.", pound * 0.45);


	return 0;
}

 

 

 

 

8. 1피트(Feat)는 30.48cm입니다. 만약 해외 여행 중에 본인이 타고 있던 비행기가 고도 15000 피트 상공을 날고 있다면 지상에서 몇 미터 떨어져 있는 것인지를 계산하는 프로그램을 작성하세요.

#include <stdio.h>

int main(void)
{
	int feet;
	double result;
	
	printf("비행기의 고도를 피트로 적어주세요 : ");
	scanf_s("%d", &feet);


	result = (feet * 30.48)*0.01;
	printf("비행기는 지상으로부터는 %.2fm떨어져 있습니다.", result);


	return 0;
}