Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 3판
- 오류
- 정답
- 원 면적
- 3장
- getchar()
- +연산자 의미
- Chapter3
- perpectC
- 티스토리 커버이미지 변경
- eslint
- putchar()
- 3강
- 연습문제
- 백엔드 개발자 #로드맵
- 쉼표필요
- perpect C
- eslint 쉼표필요 오류
- 점프 투 파이썬 #패키지 # 비전공자
- 평균
- 실습예제
- 비트마스크
- () (+) 차이
- JavaScript
- 합
- c
- ㅔㄴ트 안잉
- PERPECT
- 원 둘레
- 풀이
Archives
- Today
- Total
옥수수와 식빵 그리고 코딩
8장 배열 연습문제 본문
01. 배열크기 5, 배열에 정수입력값 4개 저장, 마지막 원소에는 앞의 값의 합 저장
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int arry[5] = { 0 };
int num;
int index = 0;
int sum = 0;
printf("4개의 정수 입력: ");
for (int i = 0; i < 4; i++)
{
scanf("%d", &num);
arry[index++] = num; //배열에 값 저장
sum += num;
}
arry[4] = sum; //마지막 원소에 합 저장
for (int i = 0; i < 5; i++)
{
printf("%d ", arry[i]);
}
return 0;
}
02. 배열 초기화, 배열의 모든 원소 출력
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
double degree[] = { -5.34, 3.67, 19.76, 28.76, 35.63 };//배열 초기화
int size = 0;
size = sizeof(degree)/sizeof(degree[0]);//배열의 크기
printf("배열 원소 값을 출력\n");
for (int i = 0; i < size; i++)
{
printf("%.2lf ", degree[i]);
}
return 0;
}
03. 배열 초기화 후 배열의 모든 원소를 10씩 증가
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int data[] = { 3, 21, 35, 57, 34, 82, 8 };
int size;
size = sizeof(data) / sizeof(data[0]);
printf("배열 원소 값을 출력\n");
for (int i = 0; i < size; i++)
{
data[i] += 10;
}
for (int i = 0; i < size; i++)
{
printf("%d, ", data[i]);
}
return 0;
}
04. 두 배열을 연결한 배열의 원소값 출력
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int a[] = { 1, 2, 3, 4, 5 };
int b[] = { 1, 2, 3, 4, 5, 6, 7 };
int sizea, sizeb, sizec;
sizea = sizeof(a) / sizeof(a[0]);
sizeb = sizeof(b) / sizeof(b[0]);
sizec = sizea + sizeb;
int c[12] = { 0 };
for (int i = 0; i < sizea; i++)//배열 c에 배열a 원소 저장
{
c[i] = a[i];
}
for (int i = 0; i < sizeb; i++)//배열 c에 배열a 원소 저장 후 배열b원소 저장
{
c[i + 5] = b[i];
}
for (int i = 0; i < 12; i++)
{
printf("%d ", c[i]);
}
return 0;
}
05. 1차원 배열 복사
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int a[] = { 1, 2, 3, 4, 5 };
int b[] = { 10, 20, 30, 40, 50, 60 };
int sizea, sizeb;
sizea = sizeof(a) / sizeof(a[0]);
sizeb = sizeof(b) / sizeof(b[0]);
for (int i = 0; i < sizea; i++) //배열 b에 배열a값 저장
{
b[i] = a[i];
}
for (int i = 0; i < sizeb; i++)
{
printf("%d ", b[i]);
}
return 0;
}
06. 배열의 총 합과 평균
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
double arry[] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 };
int size;
size = sizeof(arry) / sizeof(arry[0]);
double sum = 0, aver;
for (int i = 0; i < size; i++)
{
sum += arry[i];
}
aver = sum / size;
printf("합: %.3lf 평균: %.3lf", sum, aver);
return 0;
}
07. 배열의 빈도수와 몇번인지 출력
참고:https://zifmfmphantom.tistory.com/34
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int arry[20] = { 0 }; //입력 값 저장할 배열
int bins[10] = { 0 }; //0~9의 빈도 수 저장할 배열
int max = 0; //빈도가 가장 많은 수 저장
printf("0 ~ 9까지의 정수 입력\n");
for (int i = 0; i < 20; i++)//값 입력받기
{
scanf("%d", &arry[i]);
}
for (int i = 0; i < 20; i++)
{
bins[arry[i]] += 1; //빈도 수 저장
}
for (int i = 0; i < 10; i++)//가장 큰 빈도 구하기
{
if (bins[max] < bins[i])
{
max = i; //더 큰 빈도가 있다면 교체
}
}
printf("가장 많이 나온 수는 %d이고, %d번 나왔습니다.", max, bins[max]);
return 0;
}
08. 윤년을 이용해 달의 말일을 배열에 저장하고 연도와 월을 입력받아 그 해 그 달의 말일 출력
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int month[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };//매년 말일
int year, mon;
printf("연도와 월을 입력하면 그 달의 말일 알려드림\n");
scanf("%d %d", &year, &mon);
if ((year % 4 == 0 && year % 100 == 0) || (year % 400 == 0))//윤년이면 2월은 29일
month[1] = 29;
mon -= 1;
printf("%d년 %d월의 말일은 %d일 입니다.", year, mon, month[mon]);
return 0;
}
09. 다음 식의 계산값을 배열 10개에 저장하고 출력해라
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
double arry[10] = { 0 };
for (int i = 0; i < 10; i++)
{
arry[i] = 1.0 / ((i + 2) * (i + 3)); //1이 아니라 1.0을 해야 실수 형태로 나옴
}
for (int i = 0; i < 10; i++)
{
printf("arry[%d] = %.3lf\n", i, arry[i]);
}
return 0;
}
10. 2차원 배열...하다 말았음 마저 하삼
#define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
int main(void)
{
int arry[5][4] = { 97, 90, 88, 95, 76, 89, 75, 83, 60, 70, 88, 82, 83, 89, 92, 85, 75, 73, 72, 78 };
int sum = 0;
double aver = 0;
printf(" 중간 중간 기말 기말 \n");
printf("======================================\n");
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 4; j++)
{
printf("%5d", arry[i][j]);
}
printf("\n");
}
return 0;
}
11.
12.
Comments