🎆1. 문제 설명
int sum[10]배열을 1~20난수로 초기화한 후 배열 내의 데이터에서 사용자가 지정한 정수를 검색하여 배열내에 저장된 위치를 출력한다.(5회반복)
##🎇 2.<출력화면>

🧨3.코드+주석
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void printArray(int *ap, unsigned int cnt); // 배열내용 출력 함수
void initArray(int *ap, unsigned int size); // 1~20까지의 난수로 배열초기화하는 함수
int searchArray(int *ap, unsigned int size, int sData); // 검색함수
int main()
{
int num[10]; // 데이터 저장 배열
unsigned int size; // 배열의 크기(방이 개수) 저장
int sData; // 검색할 데이터 저장
int res = 0; // 검색 결과 저장
int i;
size = sizeof(num) / sizeof(num[0]); // 배열 크기 계산
initArray(num, size);
printArray(num, size);
for (i = 0; i < 5; i++) {
printf("# 검색할 정수를 입력하시오 : ");
scanf("%d", &sData);
res = searchArray(num, size, sData);
if (res != -1)
printf("%d는 %d번 방에 있습니다.\n", sData, res);
else
printf("%d는 존재하지 않습니다.\n", sData);
}
getchar();
getchar();
return 0;
}
//---------------------------------------------------
int searchArray(int *ap, unsigned int size, int sData)
{
int position = -1;
for (unsigned int i = 0; i < size; i++) {/* 만약 배열내의 데이터와 인덱스가 같으면 */
if (ap[i] == sData){
position = i;
break;
}
}
return position; //위치 리턴
}
//---------------------------------------------------
void initArray(int *ap, unsigned int size)
{
for (unsigned int i = 0; i < size; i++) {
ap[i] = rand() % 20 + 1; // 1~20 사이의 난수로 초기화
}
}
//---------------------------------------------------
void printArray(int *ap, unsigned int cnt)
{
printf("배열의 내용 : %5d \n", ap[cnt]); // 배열 내용 출력
}
✨ 4.<출력 결과>

🎉5. 느낌점
이번 시간을 통해 배열의 구조와 데이터 순차 검색 방법을 고안해내서 프로그램을 만들게 되었다. 그리고 새로 배운 난수 지정 함수를 통해 1~20까지의 숫자를 무작위로 나오도록 하였고, 아직 부족한 부분도 많지만 자료구조의 1차원 배열을 더 자세히 알게 되는 계기가 된것 같다.