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 |