C언어/참고서: C언어 콘서트

C언어 31차시 배열 기초문제 1

Olivia-BlackCherry 2023. 3. 28. 17:45

목차

 

1. 배열에 출석 기록하고, 출석률 확인하기

♣결과

♧코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 10

int main(void)
{
	int attendance[SIZE];
	int i;
	int yes= 0;
	double pass_rate;

	//결석상황 파악
	for (i = 0; i < SIZE; i++) {
		printf("%d회차 출석 확인을 하겠습니다(1-출석, 0-결석", i+1);
		scanf("%d", &attendance[i]);

		if (attendance[i] == 1) yes++;
	}
	
	//출석률 파악
	pass_rate = (double)yes / SIZE * 100;
	if (pass_rate<30) 
		printf("수업 일수 부족입니다. 귀하는 %.2lf 출석하였습니다.", pass_rate);
	else printf("수업 이수입니다. 귀하는 %.2lf 출석하였습니다.", pass_rate);

	return 0;
}

 

 

2.  최소값 구하기

♣결과

♧코드

1) 초기 최소값 설정 : 가지고 있는 가격보다 더 크게

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5

int main(void)
{
	int i;
	int min_price = 1000;
	int prices[SIZE] = { 0 };
	int position = 0;

	for (i = 0; i < SIZE; i++) {
		printf("찾으신 스마트폰의 가격을 입력하세요");
		scanf("%d", &prices[i]);
	}

	for (i = 0; i < SIZE; i++) {
		if (min_price > prices[i]) {
			min_price = prices[i];
			position = i;
		}
			}
		printf("최소값은 %d이고 순서는 %d 입니다.", min_price, position+1);
	}

 

2) 초기 최소값 설정 : 가장 처음 배열요소로

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5

int main(void)
{
	int i;
	int min_price;
	int prices[SIZE] = { 0 };
	int position = 0;

	for (i = 0; i < SIZE; i++) {
		printf("찾으신 스마트폰의 가격을 입력하세요");
		scanf("%d", &prices[i]);
	}
	min_price = prices[0];
	for (i = 1; i < SIZE; i++) {
		if (min_price > prices[i]) {
			min_price = prices[i];
			position = i;
		}

	}
		printf("최소값은 %d이고 순서는 %d 입니다.", min_price, position+1);
	}

 

 

3. 배열에서 특정한 값 탐색하기

♣결과

♧코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 5

int main(void)
{
	int i, target;
	int numbers[SIZE] = { 1,3,5,7,8 };
	printf("탐색할 값: ");
	scanf("%d", &target);

	for (i = 0; i < SIZE; i++) {
		if (numbers[i] == target) {
			printf("값의 인덱스: %d", i);
			break;
		}
	}
	return 0;
}

>>break문을 활용하여 정답이 나온 경우, 프로그램을 마치도록 하여 효율성을 높였다.