본문 바로가기
Do it 알고리즘 입문[C]

배열 연습문제 Q1-Q4

by 횰임 2022. 1. 17.

Q1.

/*배열 요소의 최소값 구하기*/
#include <stdio.h>
#include <stdlib.h>

int minof(const int a[], int n);

int main()
{
  int i;
  int *array; //배열 이름
  int n;  //배열 크기
  printf("배열 크기: ");
  scanf("%d", &n);
  array = calloc(n, sizeof(int)); //배열 생성
  //요소값 입력
  for(i=0; i<n; i++)
  {
    printf("array[%d] : ", i);
    scanf("%d", &array[i]);
  }  
  printf("최소값은 %d\n", minof(array, n));

  return 0;
}

int minof(const int a[], int n)
{
  int i;
  int min = a[0];
  for(i=0; i<n; i++)
  {
    if(min > a[i]) min = a[i];
  }
  return min;
}

 

Q2.

/*배열 요소들 합계 구하기*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int sumof(const int a[], int n);

int main()
{
  int i;
  int *height; //배열 이름
  int n;  //배열 크기
  printf("사람 수 : ");
  scanf("%d", &n);
  height = calloc(n, sizeof(int)); //배열 생성
  srand(time(NULL));  //난수 seed 초기화
  //요소값 입력
  for(i=0; i<n; i++)
  {
    height[i] = rand()%90 + 100;    //범위는 100~189
    printf("height[%d] = %d\n", i, height[i]);
  }  
  printf("합계는 %d\n", sumof(height, n));

  return 0;
}

int sumof(const int a[], int n)
{
  int i;
  int sum = 0;
  for(i=0; i<n; i++)
  {
    sum += a[i];
  }
  return sum;
}

Q3.

/*배열 요소의 평균 구하기*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

double aveof(const int a[], int n);

int main()
{
  int i;
  int *height; //배열 이름
  int n;  //배열 크기
  printf("사람 수 : ");
  scanf("%d", &n);
  height = calloc(n, sizeof(int)); //배열 생성
  srand(time(NULL));  //난수 seed 초기화
  //요소값 입력
  for(i=0; i<n; i++)
  {
    height[i] = rand()%90 + 100;    //범위는 100~189
    printf("height[%d] = %d\n", i, height[i]);
  }  
  printf("평균은 %f\n", aveof(height, n));

  return 0;
}

double aveof(const int a[], int n)
{
  int i;
  double sum = 0;
  
  for(i=0; i<n; i++)
  {
    sum += a[i];
  }
  return sum/n;
}

Q4.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int maxof(const int a[], int n);

int main()
{
  int i;
  int *height; //배열 이름
  int n;  //배열 크기
  srand(time(NULL));  //난수 seed 초기화
  n = rand() % 16 + 5;  //사람 수 범위는 5~20
  printf("사람 수 : %d\n", n);
  height = calloc(n, sizeof(int)); //배열 생성
  //요소값 입력
  for(i=0; i<n; i++)
  {
    height[i] = rand()%90 + 100;    //범위는 100~189
    printf("height[%d] = %d\n", i, height[i]);
  }  
  printf("최대값은 %d\n", maxof(height, n));

  return 0;
}

int maxof(const int a[], int n)
{
  int i;
  int max = a[0];
  
  for(i=0; i<n; i++)
  {
    if(max < a[i]) max = a[i];
  }
  return max;
}

 

'Do it 알고리즘 입문[C]' 카테고리의 다른 글

소수 찾기  (0) 2022.01.18
배열 연습문제 Q5-Q10  (0) 2022.01.17
기수 변환  (0) 2022.01.17
배열의 요소 역순으로 정렬하기  (0) 2022.01.17
배열과 포인터  (0) 2022.01.17