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
- DFS
- 크루스칼
- MST
- 다이나믹프로그래밍
- 서브쿼리
- 다익스트라
- 트리
- 구현
- 브루트포스
- 에라토스테네스의 체
- 백트래킹
- 그리디
- 그래프 탐색
- 플로이드-워셜
- 그래프 이론
- DP
- 누적합
- 수학
- 우선순위큐
- 다이나믹 프로그래밍
- GROUP BY
- 해시
- 투포인터
- 다시
- 재귀
- 자료구조
- 분할정복
- join
- 시뮬레이션
- BFS
Archives
- Today
- Total
기록하고 까먹지 말기
과제7 - Array (1 ~ 4) 본문
array size를 입력받고 array 생성, element를 입력받은 후 그 값들을 출력하는 프로그램이다.
#include <stdio.h>
#define MAX_SIZE 1000 // Maximum array size
int main(){
int arr[MAX_SIZE]; // declare array
int n, i;
// inputs size of array from user
printf("Enter size of array: ");
scanf("%d", &n);
// inputs elements in the array
printf("Enter %d elements in the array : ", n);
for(i=0; i<n; i++){
scanf("%d", &arr[i]);
}
// print output
printf("\nElements in array are: ");
for(i=0; i<n; i++){
printf("%d, ", arr[i]);
}
return 0;
}
array size를 입력받은 후 element를 입력받고 나서 모든 요소 값의 총합을 출력하는 프로그램
#include <stdio.h>
#define MAX_SIZE 100 // Maximum array size
int main(){
int arr[MAX_SIZE]; // declare array
int n, i, total=0;
// inputs size of array from user
printf("Enter size of array: ");
scanf("%d", &n);
// inputs elements in the array
printf("Enter %d elements in the array : ", n);
for(i=0; i<n; i++){
scanf("%d", &arr[i]);
total+=arr[i];
}
// print output
printf("Sum of all elements of array = %d", total);
return 0;
}
total을 초기화한 후 입력과 동시에 total+=arr[i];를 통해 곧바로 연산을 진행하였다.
array size를 입력받은 후 그 배열의 최댓값과 두번째로 큰 값을 출력하는 프로그램이다.
최댓값은 쉽게 구했지만 두번째로 큰 값을 어떻게 간단하게 도출할까 생각하다가 꽤 오래 고민했던 기억이 있다.
#include <stdio.h>
#define MAX_SIZE 1000 // Maximum array size
int main(){
int arr[MAX_SIZE]; // declare array
int n, i;
int lar=-1, sec=-1;
// inputs size of array from user
printf("Enter size of array (1-1000): ");
scanf("%d", &n);
if(n < 1 || n > 1000) // not in range
return 0;
// inputs elements in the array
printf("Enterelements in the array : ");
for(i=0; i<n; i++){
scanf("%d", &arr[i]); // Entering element
if(lar < arr[i]) // setting largest number
lar = arr[i];
}
// setting secondary largest number
for(i=0; i<n; i++){
if(arr[i] > sec && arr[i] < lar)
sec = arr[i];
}
// print output
printf("First largest = %d\n", lar);
printf("Second largest = %d", sec);
return 0;
}
largest의 경우에는 입력과 동시에 곧바로 설정이 가능했지만 두번째로 큰 값의 경우에는 입력받은 이후 또다시 for문을 통해서 값을 구하는 방식으로 진행했다.
lar보다는 작지만 그 중에서 가장 큰 값을 구해야 했기 때문에 if(arr[i] > sec && arr[i] < lar)을 통해 sec값을 도출했다.
array size를 입력받고 나서 element 값을 출력, 홀수와 짝수의 개수를 출력하는 프로그램이다.
#include <stdio.h>
#define MAX_SIZE 100 // Maximum array size
int main(){
int arr[MAX_SIZE]; // declare array
int n, i;
int odd = 0, even = 0;
// inputs size of array from user
printf("Enter size of array: ");
scanf("%d", &n);
// inputs elements in the array
printf("Enter elements in the array : ");
for(i=0; i<n; i++){
scanf("%d", &arr[i]);
if(arr[i] % 2 == 0) // if entered number is even
even++;
else // // if entered number is odd
odd++;
}
// print output
printf("Total even elements: %d\n", even);
printf("Total odd elements: %d", odd);
return 0;
}
입력과 동시에 홀수와 짝수를 판별하여 값을 증가시키는 방식으로 문제를 해결했다.
'전공 > C' 카테고리의 다른 글
과제8 - Pointer Array (6 ~ 10) (0) | 2021.06.22 |
---|---|
과제8 - Pointer_Array (1 ~ 5) (0) | 2021.06.22 |
Mid Coding Test (0) | 2021.06.22 |
과제 6 - Function (6 ~ 9) (0) | 2021.06.22 |
과제 6 - Function (1 ~ 5) (0) | 2021.06.21 |