반응형
1. 배열 선언
int main() {
int arr[5] = { 3,1,4,1,5 };
for (int i = 0; i <= 4; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
arr[5] 는 5는 생략해서 arr[] 라고 써도 됨
2. 배열에 들어있는 원소의 개수 알아내는 방법
sizeof(arr)/sizeof(int)
int 사이즈가 4바이트고 arr 크기는 전체 예를들어 20 바이트면
20/4 해서 5니까
원소의 개수는 5임을 알수 있음
근데 for 문을 쓰려면 0부터 4까지 해야되니까 등호를 빼고
for (int i = 0; i < sizeof(arr)/sizeof(int); i++){
printf("%d ", arr[i]);
}
이런 식으로 적어주면 똑같이 0부터 4까지 원소를 출력할 수 있다.
3. 입력받은 숫자들을 거꾸로 출력
int main() {
int n;
int arr[1000];
printf("입력할 숫자의 갯수를 입력: ");
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%d", &arr[i]);
}
for (int i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
}
결과 :
4. 최대, 최소
1) 최대
int main() {
int n;
int arr[100];
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%d", &arr[i]);
}
int max = arr[0];
for (int i = 1; i < n; i++) {
if (max < arr[i]) max = arr[i];
}
printf("%d", max);
}
arr[0] 은 배열의 맨 앞에 있는 4
4를 가지고 arr[1](=5) 이랑 비교해서 arr[1]이 크니까 max에 5를 대입.
그다음에 다시 max(=5)와 arr[2](=6) 비교-> 6이 크니까 max에 6을 대입.
그다음 arr[3](=2) , arr[4] 는 max가 더 크니까 max는 그대로.
max를 출력하면 6 이 나온다.
2) 최소
int main() {
int n;
int arr[100];
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%d", &arr[i]);
}
int min = arr[0];
for (int i = 1; i < n; i++) {
if (min > arr[i]) min = arr[i];
}
printf("%d", min);
}
5. 짝수의 개수
int main() {
int n;
int arr[100];
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%d", &arr[i]);
}
int cnt = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
cnt++;
}
}
printf("%d", cnt);
}
결과 :
5-1. 일의 자리가 3의 배수인 수의 개수
int k = arr[i] %10 ; (//k 는 일의 자리 숫자)
if (k %3 == 0) 만 하면 3의 배수에다가 일의 자리가 0인 것도 카운트 되므로,
k !=0 (= 일의 자리 숫자가 0이 아닌 것) 인 조건도 포함
둘을 동시에 만족해야 하므로 && 으로
int main() {
int n;
int arr[100];
scanf_s("%d", &n);
for (int i = 0; i < n; i++) {
scanf_s("%d", &arr[i]);
}
int cnt = 0;
for (int i = 0; i < n; i++) {
int k = arr[i] % 10;
if (k % 3 == 0 && k!=0) {
cnt++;
}
}
printf("%d", cnt);
}
결과 :
반응형
'개발자' 카테고리의 다른 글
두들낙서 C/C++ 24강~30강 포인터, 배열 포인터 , 포인터 배열 종합문제 (0) | 2022.06.17 |
---|---|
두들낙서 C/C ++ 22강, 23강 2차원 배열, 문자열 함수 strlen, strcpy, strcat, strcmp (0) | 2022.06.17 |
두들낙서 17강~19강 while을 for 로 바꿔보기, 중첩 for 문 예제들 (0) | 2022.06.16 |
두들낙서 12강 ~16강 정리 (0) | 2022.06.15 |
두들낙서 C/C++강좌 7강, 8강, 9강 (0) | 2022.06.14 |
댓글