c언어 연습문제 #2 (국비4일차)

 

문제 1.

blob

 

blob

 

A:

답은 엄청 간단하다.

yellow = red;
red = blue;
blue = yellow;

 

컴퓨터는 위에부터 차례대로 순서대로 처리하는 기계이다. 그리고 오늘 배운 대입 연산자는 오른쪽에 있는 것을 왼쪽에 넣어주는 연산자이다.

etc-image-2

 

문제 2.

원의 반지름 r을 입력받아 원의 면적과 원의 둘레를 구하는 프로그램을 작성하세요.

-원의 면적     3.14*반지름*반지름

-원의 둘레     2*3.14*반지름

 

A:

#include <stdio.h>

void main()

{
int r;
printf("반지름을 입력하면 원의 면적과 둘레를 구해드립니다.\n");
printf("원의 반지름 : ");
scanf_s("%d", &r);

printf("원의 면적 : 3.14 * %d * %d = %f \n", r, r,3.14*r*r);
printf("원의 둘레 : 2 * 3.14 * %d = %f \n", r, 3.14 * 2 * r);

}

etc-image-3

 

문제 3.

직사각형의 가로와 세소 길이를 입력받아서 넓이를 구하는 프로그램을 작성하려 합니다. 다음 코드에서 빈칸을 채우세요.

#include <stdio.h>

void main()
{

int a, b;
printf("가로 길이를 입력하세요 : ");

 


printf("세로 길이를 입력하세요 : ");

 

printf("직사각형의 넓이는 %d입니다. \n", a*b);

}

A:

간단하게 scanf_s를 사용해주면 된다.

scanf_s("%d", &a);

scanf_s("%d", &b);

 

문제 4.

두 정수를 입력받아 두 숫자의 합과 차를 출력하는 프로그램을 작성하려 합니다. 출력은 다음의 형식을 따릅니다.
단, 출력되는 모든 숫자는 소스 코드에 직접 작성해서는 안됩니다.

-실행결과

두 정수를 입력하세요 : 45 23

합: 45 + 23 = 68
차 : 45 - 23 = 22

A:

#include <stdio.h>

void main()
{
int a, b;
printf("두 정수를 입력하세요 : ");
scanf_s("%d %d", &a, &b);
printf("합 : %d + %d = %d \n", a, b, a + b);
printf("차 : %d - %d = %d \n", a, b, a - b);

}

 

문제 5. 

프로그램 사용자로부터 두개의 정수를 입력받아서 두 수의 뺄셈과 곱셈의 결과를 출력하는 프로그램을 작성해 보자.

A :

#include <stdio.h>

void main()
{
int a, b;
printf("두 정수를 입력하세요 : ");
scanf_s("%d %d", &a, &b);
printf("차 : %d - %d = %d \n", a, b, a - b);
printf("곱 : %d * %d = %d \n", a, b, a * b);

}

 

문제 6.

프로그램 사용자로부터 세 개의 정수 num1, num2, num3를 순서대로 입력받은 후에, 다음 연산의 결과를 출력하는 프로그램을 작성해보자.(scanf는 세 번 사용)
 num1*num2+num3
단, 입력 받은 세 개의 정수가 2,4,6이라면 다음의 형태로 출력을 해야 한다.
 2*4+6=14

A:

#include <stdio.h>

void main()
{
int num1, num2, num3;

printf("N1 * N2 + N3을 계산해주는 프로그램, 정수 3개를 입력해 주세요.\n");
scanf_s("%d", &num1);
scanf_s("%d", &num2);
scanf_s("%d", &num3);

printf(" %d * %d + %d = %d \n", num1, num2, num3, num1* num2 + num3);

}

 

문제 7.

입력 답은 두 정수를 나누었을 때 얻게 되는 몫과 나머지를 출력하는 프로그램을 작성해 보자. 
예를 들어 7과 2가 입력되면 몫으로 3, 나머지는 1이 출력되어야 한다.

 

A:

살짝 생각해봐야하는 문제였다. 나머지를 구하는 부분에서 아마 많은 사람들이 좀 헤매었을 수도 있겠다 싶었다.

나머지를 구하는 방법은 첫번째 값에서 몫과 나눈 값을 곱한 값을 빼주면 된다.

즉, N1 - (몫 * 나눈 값)이다.

#include <stdio.h>

void main()
{
int num1, num2;

printf("정수 2개를 나눠 몫과 나머지를 구하는 프로그램 \n");
printf("첫 번째 정수를 입력해 주세요 : ");
scanf_s("%d", &num1);
printf("두 번째 정수를 입력해 주세요 : ");
scanf_s("%d", &num2);

int num3 = num1 / num2;

printf(" 몫 : %d 나머지 : %d \n", num3, num1-num3*num2);

}

etc-image-4