일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- JavaScript
- eslint 쉼표필요 오류
- 백엔드 개발자 #로드맵
- 쉼표필요
- 풀이
- 오류
- 연습문제
- 평균
- 합
- 실습예제
- 3판
- 티스토리 커버이미지 변경
- perpectC
- Chapter3
- ㅔㄴ트 안잉
- eslint
- PERPECT
- c
- perpect C
- () (+) 차이
- 원 면적
- putchar()
- 점프 투 파이썬 #패키지 # 비전공자
- 3장
- 비트마스크
- 원 둘레
- getchar()
- 정답
- 3강
- +연산자 의미
- Today
- Total
옥수수와 식빵 그리고 코딩
7장 연습문제 본문
01. 반복 for문을 사용해 1에서 표준입력받은 양의 정수까지의 합
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int i, sum, num;
printf("양의 정수 입력: ");
scanf("%d", &num);
for (i = 1, sum = 0; i <= num; i++)
sum += i;
printf("1에서 %d까지의 합: %d", num, sum);
return 0;
}

02. 0.5씩 증가하는 x와 x에 대한 y값을 출력
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
double x =0, y=0;
for (x = 5; x <= 10;){
y = 3 * x * x * x + 2 * x * x + x + 5; // 식이 for문 안에 들어와 있어야 x 증가값을 받음
printf("x = %.2lf y = %.2lf\n", x, y);
x += 0.5;
}
return 0;
}

03. 1에서 100까지의 정수 중 2, 3, 5, 7의 배수를 제외한 수를 한 행에 10개씩 출력하는 프로그램
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int i, cnt = 0;
for (i = 1; i <= 100; i++) {
if (i % 2 == 0)
continue;
else if (i % 3 == 0)
continue;
else if (i % 5 == 0)
continue;
else if (i % 7 == 0)
continue;
printf("%3d", i);
cnt += 1;
if (cnt % 10 == 0)
printf("\n");
}
return 0;
}

04.섬씨온도를 화씨온도로 변환, 이 때 섭씨온도는 20씩 증가
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int cel = 0, fah = 0;
for (cel = -60; cel <= 140;) {
fah = (9.0 / 5) * cel + 32;
printf("섭씨온도: %3d = 화씨온도: %3d\n", cel, fah);
cel += 20;
}
return 0;
}

05. 표준입력 받은 정수의 구구단 출력
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int num, i;
printf("출력할 구구단 2~9사이의 정수 입력: ");
scanf("%d", &num);
for (i = 1; i <= 9; i++) {
printf("%d*%d=%d ", num, i, num * i);
}
return 0;
}

06. 입력한 수를 반대로 출력 do while
참고: https://blog.naver.com/tipsware/221287499666
[Quiz] 정숫값을 거꾸로 출력하기
: C 언어 관련 전체 목차 http://blog.naver.com/tipsware/221010831969 1. 문제 아래의 예제에서 비어있...
blog.naver.com
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int num;
printf("정수 입력: ");
scanf("%d", &num);
printf("입력한 수를 반대로 출력: ");
do
{
printf("%d", num % 10);
num = num / 10;
} while (num);
return 0;
}

07. 1부터 n까지의 합 중에서 10000을 넘지 않는 가장 큰 합과 그 때의 n을 구하는 프로그램
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int n, sum;
printf("1부터 n까지의 합 중에서 10000을 넘지 않는 가장 n은?\n");
for (n = 1, sum = 0; 1; n++) {
sum += n;
if (10000 < sum)
break;
}
printf("n = %d, 합은 %d ", n-1, sum-n); // 10000이 되기 전의 수에서 +1이 되었기 때문에
//10000이 넘은 직후 멈췄으므로 직전에 더한 값을 빼줌
//직전에 더한 값은 n-1이 아니라 n임
return 0;
}

08. 1부터 n까지의 곱 중에서 10000을 넘지 않는 가장 큰 곱과 그 때의 n을 구하는 프로그램
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int n, sum;
printf("1부터 n까지의 곱 중에서 10000을 넘지 않는 가장 n은?\n");
for (n = 1, sum = 1; 1; n++) {
sum *= n;
if (10000 < sum)
break;
}
printf("n = %d, 곱은 %d ", n-1, sum/n); // 10000이 되기 전의 수에서 +1이 되었기 때문에
//10000이 넘은 직후 멈췄으므로 직전에 곱한 값을 나눠줌
//직전에 더한 값은 n-1이 아니라 n임
return 0;
}

09.반복적으로 정수를 입력 받아 0이면 종료, 0이 아니면 32비트의 비트정보 모두 출력
*비트 정보 출력

참고: https://beomjun0638.tistory.com/66
C언어 입력 정수 32비트 정보 모두 출력
다음 조건을 만족하면서 정수를 입력 받아 32비트의 비트 정보를 모두 출력하는 프로그램을 작성하시오. 입력 받은 정수가 0이면 종료하고 0이 아니면 계속 수행 #include int main() { printf("정수를 입
beomjun0638.tistory.com
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int num, i;
do {
printf("정수 또는 0(종료)을 입력: ");
scanf("%d", &num);
printf("정수 %d의 32비트 내부 값: ", num);
for (i = 31; i >= 0; i--) {
printf("%d", num >> i & 1);
}
printf("\n");
} while (num != 0);
printf("종료합니다");
return 0;
}

10. 소수 구하기(솟수)
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int i, j;
printf("2부터 100까지의 소수\n");
for (i = 2; i <= 100; i++) {
for (j = 2; j <= 100; j++) {
if (i % j == 0)
break;
}
if (i == j)
printf("%5d", i);
}
return 0;
}

11. 단리 이자 계산 후 총 금액 출력
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
double origin, inter;
origin = 1000000;
for (int i = 1; i <= 10; i++)
{
inter = origin * 0.045 * i;
printf("%d년 총 금액: %.2lf\n", i, origin + inter);
}
return 0;
}

12. 복리 이자 계산 후 총 금액 출력
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
# include <math.h>
int main(void)
{
double origin, later;
origin = 1000000;
for (int i = 1; i <= 10; i++)
{
later = origin * pow(1.045, i);
printf("%d년 총 금액: %.2lf\n", i, later);
}
return 0;
}

13. 왼쪽으로 정렬된 숫자트리( 별트리)
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int i, j, k;
for (i = 1; i <= 5; i++)
{
j = i;
for (k = 1; k <= 5-i ; k++)
printf(" ");
for (j; j > 0; j--)
{
printf("%d", j);
}
printf("\n");
}
return 0;
}

14. 54321 5432 543 54 5 숫자 역트리 왼쪽정렬
참고https://mechanicaltopdc.blogspot.com/2017/02/pattern-programs-54321-5432-543-54-5.html
Pattern Programs (54321 5432 543 54 5)
Mechanical engineering Product design and Commerce CAD Pro/Engineer
mechanicaltopdc.blogspot.com
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
for (int i = 1; i <= 5; i++)
{
for (int j = 5; j - i >= 0; j--)//i=1일 때 반복 5번
{
printf("%d", j);
}
printf("\n");
}
return 0;
}

15.
0 101 221012 3210123 432101234 54321012345
가운데 정렬 숫자 트리
참고 https://lastviolet05.tistory.com/218
피라미드 출력하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 /* 2015.09.08 내용: 2. 다음을 출력하는 프로그램 ..
lastviolet05.tistory.com
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int k;
for (int i = 0; i < 8; i++)
{
k = i;
for (int j = 1; j < 8; j++)//왼쪽
{
if (j < 8 - i)
{
printf(" ");//왼쪽 공백
continue;
}
printf("%d", k);//왼쪽 숫자
k--;//점점 작아짐
}
for (int k = 0; k < i + 1; k++)//오른쪽 0부터
printf("%d", k);
printf("\n");
}
return 0;
}

'C > perpect C' 카테고리의 다른 글
9장 연습문제 (0) | 2022.01.01 |
---|---|
8장 배열 연습문제 (0) | 2021.12.30 |
6장 연습문제 (0) | 2021.12.29 |
5장 연습문제 (0) | 2021.12.28 |
chapter 07 내용점검 연습 04번 (0) | 2021.12.27 |