C언어/참고서: C언어 콘서트

C언어 11차시 변수와 자료형 연습문제

Olivia-BlackCherry 2023. 3. 21. 16:54

목차

    1. 사용자로부터 실수값을 소수점 표기형식으로 입력받아, 지수 형식으로 출력하기 

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main(void)
    {
    	double number;
    
    	printf("실수를 입력하세요");
    	scanf("%lf", &number);
    	printf("입력한 실수는 %lf이고, 지수형식으로 표기하면%le입니다", number, number);
    	
    	return 0;
    }

    주의점

    지수형식은 %e로 출력한다. 

    그런데 double형식의 지수형식은 %le로 출력한다.

     

     

    2. 사용자로부터 실수를 지수형식으로 입력받아, 소수점 표기 형식으로 출력하기

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main(void)
    {
    	double number;
    
    	printf("실수를 지수형식으로 입력하세요");
    	scanf("%le", &number);
    	printf("입력한 실수는 %le이고, 지수형식으로 표기하면%lf입니다", number, number);
    	
    	return 0;
    }

     

     

    3. 사용자로부터 반지름 주어질 때, 구의 표면과 부피 계산하기

    PIE =3.14

    구의 표면적 = 4.0 * PIE * (radius * radius)

    구의 부피 = 4.0/3.0 *PIE * (radius *radius *radius)

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main(void)
    {
    	double radius, surface, volume;
    	const double PIE = 3.14;
    	printf("반지름을 입력하세요");
    	scanf("%lf", &radius);
    
    	surface = 4.0 * PIE * (radius * radius);
    	volume = 4.0 / 3.0 * PIE * (radius * radius * radius);
    	printf("입력한 반지름은 %lf입니다. \n구의 표면적은 %lf이고, 부피는 %lf입니다", radius, surface, volume);
    	
    	return 0;
    }

     

     

    4. 사용자로부터 x값을 실수로 입력받아서 다항식의 값을 계산하기

    다항식 예시) 3*x*x*x - 7*x*x +9;

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main(void)
    {
    	double x, result;
    	printf("x값을 입력하세요");
    	scanf("%lf", &x);
    
    	result = 3*x*x*x - 7*x*x +9;
    	printf("결과는 %lf입니다", result);
    	
    	return 0;
    }

     

     

    5. 사용자로부터 문자를 받아서 아스키코드로 출력하기

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main(void)
    {
    	char aski;
    	aski = getchar();
    	printf("%c의 아스키 코드는 %d입니다", aski, aski);
    	
    	return 0;
    }

    주의점

    char은 문자, 정수를 모두 입출력값으로 받을 수 있기 때문에 

    형식 지정자도 %c, %d 모두 가능하다. 

    %c이면 문자 그대로 출력되고

    %d이면 아스키코드 값으로 숫자형태로 출력된다. 

     

     

    6. 사용자에게 받은 문자 3개를 역순으로 출력하기

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    	char a, b, c;
    	printf("문자를 입력하시오: ");
    	scanf("%c %c %c", &a, &b, &c);
    	printf("문자: %c %c %c \n\n", c, b, a);
    	return 0;
    }

     

     

    7. 모든 자료형의 크기를 sizeof 연산자 사용하여 출력하기

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    
    	printf("char형의 크기는 %d바이트입니다\n", sizeof(char));
    	printf("short형의 크기는 %d바이트입니다\n", sizeof(short));
    	printf("int형의 크기는 %d바이트입니다\n", sizeof(int));
    	printf("long형의 크기는 %d바이트입니다\n", sizeof(long));
    	printf("long long형의 크기는 %d바이트입니다\n", sizeof(long long));
    	printf("float형의 크기는 %d바이트입니다\n", sizeof(float));
    	printf("double형의 크기는 %d바이트입니다\n", sizeof(double));
    	printf("long double형의 크기는 %d바이트입니다\n", sizeof(long double));
    	return 0;
    }

     

     

    8. 사용자에게 거리, 소요시간을 입력받아, 자동차 속도 출력하기.

    이스케이프 시퀀스 사용하기

    <결과>

    <코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    int main(void)
    {
    	float distance, time, speed;
    
    	printf("거리를 입력하세요:__\b\b");
    	scanf("%f", &distance);
    	printf("시간을 입력하세요:__\b\b");
    	scanf("%f", &time);
    	printf("거리는 %f, 시간은 %f \n", distance, time);
    
    	speed = distance / time;
    	printf("속도는 %f입니다 \n\n", speed);
    	
    	return 0;
    }