반응형
1. 다음 프로그램의 결과를 아래의 칸에 맞춰 쓰시오.
#include <stdio.h>
int main(void)
{
int age = 20;
double gpa = 4.19, weight = 72.3;
printf("Result \nage=%3d \nGPA=%4.1lf\n", age, gpa);
printf("weight=%5.1lf\"kg\"\n",weight);
return 0;
}
Result
age= 20
GPA= 4.2
weight= 72.3"kg"
2. 다음 프로그램을 실행했을 때의 결과를 아래의 칸에 맞춰 쓰시오.
#include <stdio.h>
int main(void)
{
int op1 = 10, op2 = -20, sum;
sum = op1 + op2;
printf("%d+%d = %d\n", op1, op2, sum);
printf("%3d + %3d = %3d\n", op1, op2, sum);
printf("%3d%-+3d = %3d\n\n", op1, op2, sum);
printf("%2d %%%2d = %2d\n", op1, 3, op1 % 3);
return 0;
}
10+-20=-10
10 + -20 = -10
10-20 = -10
10 % 3 = 1
3. 다음은 국어와 음악 점수를 입력받아 평균을 구한 후 출력하는 프로그램이다. 이 프로그램에는 밑줄이 그어진 곳에 모두 6가지의 잘못이 있다. 잘못된 곳을 찾아 이유를 설명하고 올바르게 수정하시오.
#include <stdio.h>
int main(void)
{
int kor, music;
printf('국어 음악 점수는?');
scanf("%d %d", kor, music);
double ave;
ave = kor + music / 2.0;
printf("=====================\n");
printf("국어 음악 평균\n");
printf("--------------------\n");
printf("%3d %3d %d \n", kor, music, ave);
printf("=====================\n");
return 0;
}
7번째 줄: ① ' → "
8번째 줄: ② %d 사이 공백 지움 ③ scanf 사용되는 변수 앞에 & 필요.
10번째 줄: ④ 실행문 이전에 모든 변수 한꺼번에 선언해야 함. 7번째 줄 이전으로 옮긴다.
11번째 줄: ⑤ kor + music을 괄호로 감싸 우선순위를 높임.
16번째 줄: ⑥ ave가 double형 실수이므로 세 번째 %d를 %lf로 고쳐야 함.
4. 다음 프로그램을 실행하면 결과가 이상하게 나온다. 그 이유를 설명하고 올바른 결과가 나오도록 하려면 어떻게 수정해야 하는지 쓰시오.
#include <stdio.h>
int main(void)
{
int r = 5;
double length;
length = 2 * 3.14 * r;
printf("둘레를 구할 원의 반지름은?");
scanf_s("%d",&r);
printf("반지름이 %d인 원의 둘레는 %.2lf \n", r, length);
return 0;
}
8번째 줄에서 length의 값이 이미 정해진 상태이므로 이후에 r 값을 입력받아도 length 값에는 변화가 없다.
8번째 줄 내용을 11번째과 12번째 줄 사이에 넣어야 한다.
5. 삼각형의 밑변과 높이를 입력받아 넓이를 구한 후 다음과 같이 출력하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
double base;
double height;
double area;
printf("밑변, 높이:");
scanf_s("%lf%lf", &base, &height);
area = base * height / 2.0;
printf("밑변=%.2lfcm, 높이=%.2lfcm인 삼각형의 면적=%.2lf㎠\n", base, height, area);
return 0;
}
6. 화씨 단위의 온도를 입력받아 섭씨 단위의 온도를 구하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
double fah, cel;
printf("화씨온도를 입력하세요 :");
scanf_s("%lf",&fah);
cel = (fah - 32)*(5.0 / 9.0);
printf("화씨온도 %.1lf의 섭씨온도는 %.1lf입니다.\n", fah, cel);
return 0;
}
7. 키보드에서 문자를 한 개 입력받은 후, 그 문자에 해당하는 ASCII 코드 값을 구하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
char a;
printf("문자를 입력하세요:");
scanf_s("%c", &a);
printf("%c의 ASCII코드 값은 %d입니다.\n",a,a );
return 0;
}
8. 키보드에서 8진수 정수와 16진수 정수를 하나씩 입력받은 후, 이 입력 값들과 두 정수의 합을 10진 정수로 출력하는프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
int a, b;
printf("8진수 16진수를 순서대로 입력하세요.:");
scanf_s("%o%x", &a, &b);
printf("%o(8)+%x(16)=%d\n", a, b, a + b);
return 0;
}
9. 반지름을 입력받아 원의 둘레와 면적, 그리고 구의 부피를 구한 후 세 개의 결과 값의 소수 자리를 세로로 맞추어 출력하시오.
#include <stdio.h>
int main(void)
{
double radius, pi = 3.141592, area, volume, circumstance;
printf("반지름(cm)를 입력하세요.");
scanf_s("%lf", &radius);
circumstance = 2 * pi*radius;
area = pi*radius*radius;
volume = (4.0 / 3.0)*pi*radius*radius*radius;
printf("둘레=%7.2lf㎝\n", circumstance);
printf("면적=%7.2lf㎠\n", area);
printf("부피=%7.2lf㎤\n", volume);
return 0;
}
10.키와 몸무게를 입력받아 키에 맞는 표준 체중을 구한 후 자신의 몸무게와 표준 체중과의 차이를 출력하는 프로그램을 작성하시오.
#include <stdio.h>
int main(void)
{
double height, weight, std_weight, gap;
double lb, feet;
printf("키(cm)를 입력하세요.");
scanf_s("%lf", &height);
printf("몸무게(kg)를 입력하세요.");
scanf_s("%lf", &weight);
printf("\n");
lb = weight*2.20459;
feet = height / 30.48;
std_weight = (height - 100.0)*0.9;
gap = weight - std_weight;
printf("당신의 키는 %.1lfcm (%.1lffeet)입니다.\n", height, feet);
printf("당신의 체중은 %.1lfkg (%.1lflb)입니다.\n", weight, lb);
printf("표준 체중 %.1lfkg과의 차이는 %+.1lfkg입니다.\n", std_weight, gap);
return 0;
}
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (11~16) (0) | 2018.02.02 |
---|---|
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (6~10) (0) | 2018.02.01 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (1~5) (0) | 2018.01.29 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 2 (0) | 2018.01.17 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 1 (0) | 2018.01.16 |