C언어 기초 연습문제3 (자료형,반복문,조건문)

2022. 1. 8. 22:05문제/C연습문제

1. 사용자에게 ASCII 코드 값을 입력받아 그 값에 해당하는 문자를 출력하는 프로그램을 만들어 보세요.

#include <stdio.h>

int main(void)
{
	int x;

	printf("input= ");
	scanf_s("%d", &x);

	printf("입력한 코드에 해당하는 문자는 %c입니다.", x);

	return 0;
}

 

 

 

 

 

 

2. 다음 프로그램은 사용자에게 두 숫자를 입력 받아 나눗셈을 연산하는 프로그램입니다. 프로그램의 문제점을 찾고 수정하세요.

#include <stdio.h>

int main(void)
{
	int result;
	int input1;
	int input2;

	printf("input 2 numbers = ");
	scanf_s("%d %d", &input1, &input2);

	result = input1 / input2;
	printf("나눗셈 결과=%d \n", result);

	return 0;
}

수정

#include <stdio.h>

int main(void)
{
	double result;
	int input1;
	int input2;

	printf("input 2 numbers = ");
	scanf_s("%d %d", &input1, &input2);

	result = (double)input1 / (double)input2;
	printf("나눗셈 결과=%.2f \n", result);

	return 0;
}

 

 

 

 

3. 반지름 rkm인 원형의 트랙을 시속 vkm/h로 달리는 자동차가 있습니다. 트랙의 반지름과 자동차의 속력을 입력 받은 후, 한 바퀴를 완주하는데 걸리는 시간을 분(소수점 셋째 자리까지)으로 표시하는 프로그램을 작성하세요.

#include <stdio.h>

int main(void)
{
	int r;
	int v;
	double pi = 3.14;
	double circleLangth;
	double result;

	printf("트랙의 반지름을 입력해주세요 : ");
	scanf_s("%d", &r);

	printf("자동차의 속력을 입력해주세요 : ");
	scanf_s("%d", &v);

	circleLangth = 2 * pi * (double)r;
	result = circleLangth / v*60;
	
	printf("트랙 둘레 %.3fkm \n", circleLangth);
	printf("한 바퀴를 완주하는데 %.3f분이 걸립니다.", result);

	return 0;
}

 

 

 

 

 

4.임의의 양의 정수(n)를 입력받아 1~100 사이에서 n의 배수의 개수를 출력하는 프로그램을 작성하세요.

#include <stdio.h>

int main(void)
{
	int x;
	int count = 0;

	printf("임의의 양의 정수를 입력하세요 : ");
	scanf_s("%d", &x);

	printf("%d의 배수 : ", x);

	for (int i = x; i < 100;)
	{
		count += 1;
		i = count * x;
		if (i >100)
		{
			count -= 1;
			break;
		}
		
		printf("%d ", i);

	}

	printf("\n%d의 배수의 갯수 : %d", x, count);

	return 0;
}

 

 

 

 

5.팩토리얼 연산 결과를 출력하는 프로그램을 작성하세요.

#include <stdio.h>

int main(void)
{
	int x;
	int result;

	printf("팩토리얼 연산을 원하는 숫자를 입력하세요 : ");
	scanf_s("%d", &x);

	result = x;
	for (int i = x-1; i > 0; i--)
	{
		result *= i;
	}

	printf("\n %d의 팩토리얼 연산 결과는 %d입니다", x, result);

	return 0;
}

 

 

 

 

 

6.시험 점수의 평균을 산출하려고 합니다. 과목은 총 10과목입니다. 각 과목의 점수를 차례로 입력받고 평균을 보여주는 프로그램을 작성해보세요.

#include <stdio.h>

int main(void)
{
	int x;
	double result=0;


	printf("열 과목의 점수의 평균을 계산합니다.\n");
	
	for (int i = 1; i <= 10; i++)
	{
		printf("%d번째 과목의 점수를 입력해주세요 : ",i);
		scanf_s("%d", &x);

		result += x;

	}

	result /= 10;
	printf("\n 열과목 점수의 평균은  %.1f점 입니다", result);

	return 0;
}

 

 

 

7.점수에 따라 해당 등급의 문자를 반환하는 프로그램을 작성해보세요. 일벼되는 점수는 항상 100 이하이며 점수가 90-100이면 A,80-89이면 B,그 외에는  F를 반환합니다.  switch문으로 작성하세요

#include <stdio.h>

int main(void)
{
	int x;

	printf("점수를 입력하세요 :");
	scanf_s("%d", &x);

	x = x / 10;

	switch (x)
	{
	case 10:
	case 9:
		printf("A\n");
		break;
	case 8:
		printf("B\n");
		break;
	default:
		printf("F\n");
		break;
	}
    
    return 0;
}

 

 

 

 

8. 사용자로부터 세 개의 정수를 입력받아 정수형 변수 a,b,c에 각각 할당한 후, if else 문을 이용하여 이들 변수 중 가장 큰 값을 출력하는 프로그램을 작성하세요. 단 같은 수를 입력받았을 때의 처리도 가능해야 합니다.

#include <stdio.h>

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

	while (1)
	{
		printf("input :");
		scanf_s("%d", &x);

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

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


		if (x > y)
		{
			if (x > z)
			{
				printf("\nresult :%d\n", x);
			}
			else if (x == z)
			{
				printf("\nresult :%d\n", x);
			}
			else
			{
				printf("\nresult :%d\n", z);
			}
		}
		else if (y > z)
		{
			printf("\nresult :%d\n", y);
		}
		else
		{
			if (y == z)
			{
				printf("\nresult :%d\n", y);
			}
			else
			{
				printf("\nresult :%d\n", z);
			}

		}
		printf("\n");
	}
	return 0;
}

'문제 > C연습문제' 카테고리의 다른 글

C언어 기초 연습문제4(함수,배열)  (2) 2022.01.14
C언어 기초 연습문제2  (0) 2022.01.07
C언어 기초 연습문제  (0) 2021.12.30