일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- () (+) 차이
- getchar()
- 3강
- 3판
- 원 면적
- +연산자 의미
- 원 둘레
- perpectC
- PERPECT
- JavaScript
- putchar()
- ㅔㄴ트 안잉
- 연습문제
- 3장
- 풀이
- c
- 티스토리 커버이미지 변경
- 합
- 오류
- perpect C
- 비트마스크
- 점프 투 파이썬 #패키지 # 비전공자
- Chapter3
- eslint
- 평균
- 정답
- eslint 쉼표필요 오류
- 실습예제
- 백엔드 개발자 #로드맵
- 쉼표필요
- 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
#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
#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
#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
#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 |