[C Question] 더블 포인터와 구조체

Date:     Updated:

카테고리:

태그:

1. 과목과 총점구하기 ( 전역 변수 )

#include <stdio.h>

int record[5][5];
void writeRecord();
void writeSumRecord();
void showAllRecord();

int main()
{
	writeRecord();		// 입력
	writeSumRecord();	// 총점 구하는 함수 ( 9칸 )
	showAllRecord();	// 값을 보여줌

	return 0;
}
조건 : main은 어떤 것도 건드려서는 안 된다 !
  • 총점구하기
정답

2. 더블 포인터의 활용

#include <stdio.h>

void MaxAndMin(int* arr, int len, int** maxPtr, int** minPtr);

int main()
{
	/* 연습문제
	다음과 같이 두개의 int형 포인터 변수와 길이가 5인 int형 배열을 선언한다.

	그리고 MaxAndMin이란 이름의 함수를 정의
	호출하면서 두 포인터 변수에 대한 정보를 전달
	어떠한 정보를 어떻게 전달할지는 스스로 결정
	함수 호출이 완료되면, 포인터 변수 maxPtr에는 가장 큰 값이 저장된
	배열요소의 주소 값!!!이,
	minPtr에는 가장 작은 값이 저장된 배열 요소의 주소 값!!!!이 저장됨.
	*/
	int* maxPtr;
	int* minPtr;
	int arr[5];
	int i, len;
	len = sizeof(arr) / sizeof(int);

	// 배열에 값 입력
	for (i = 0; i < len; i++)
	{
		printf("정수 입력 %d : ", i + 1);
		scanf_s("%d", &arr[i]);
	}

	// 함수 호출
	
    // 출력
	printf("최대: %d, 최소: %d", *maxPtr, *minPtr);

	return 0;
}
조건
메인 5줄 ( 변수 빼고 )
함수 6줄
정답

3. 직원 구조체

#include <stdio.h>

struct employee
{
	char name[50];
	char addr_num[15];
	int  salary;
};

int main()
{
	/* 연습문제
	문자열 형태의 종업원 이름과 주민등록번호
	그리고 정수 형태의 급여정보를 저장할 수 있는 employee라는 이름의 구조체 정의

	구조체 변수를 하나 선언한 다음 사용자 입력받아서 변수를 채우고,
	구조체 변수에 채워진 데이터를 출력한다.
	*/
	struct employee salary_info;

    // 입력


    // 출력
	printf("--- 종합 정보--- \n\n이름: %s \n주민등록번호: %s \n월급은?: %d", salary_info.name, salary_info.addr_num, salary_info.salary);

	return 0;
}
정답

c-question-lv1 카테고리 내 다른 글 보러가기

댓글 남기기