[C언어 소스] n명의 학생 성적 입력받아 출력(malloc 함수 사용)
#include <stdio.h>
#include <stdlib.h>
void InputScores(int *base,int asize); //asize 명의 성적을 입력받는 함수
void ViewScores(int *base,int asize); //asize 명의 성적을 출력하는 함수
int InputScore(int num); //num 번의 학생 성적을 입력받는 함수
int main()
{
int *base = 0; //동적으로 할당받아 학생들의 성적을 관리할 메모리의 시작 주소
int max_stu= 0;
//관리할 학생 수
printf("최대 관리할 학생 수를 입력하세요.\n");
scanf_s("%d",&max_stu);
base = (int *)malloc(sizeof(int) * max_stu); //성적을 보관할 메모리를 할당
InputScores(base,max_stu); //학생들의 성적 입력 요청
ViewScores(base,max_stu); //학생들의 성적 출력
free(base); //동적으로 할당한 메모리 해제
return 0;
}
void InputScores(int *base,int asize)
{
int i = 0;
for(i = 0;
i<asize; i++)
{
base[i] = InputScore(i+1); //i+1 번의 학생 성적을 입력받아 base[i]에 대입
}
}
void ViewScores(int *base,int asize)
{
int i = 0;
for(i = 0;
i<asize; i++)
{
printf("%d 번: %d \n",i+1, base[i]); //i+1 번의 성적 출력
}
}
int InputScore(int num)
{
int score;
printf("%d 번의 성적을 입력하세요.\n",num);
scanf_s("%d",&score);
return s
실행 결과
최대 관리할 학생 수를 입력하세요.
3
1 번의 성적을 입력하세요.
90
2 번의 성적을 입력하세요.
60
3 번의 성적을 입력하세요.
80
1번: 90
2번: 60
3번: 80
본문
'C언어 > 디딤돌 C언어 예제' 카테고리의 다른 글
[C언어 소스] 동적 할당한 메모리의 크기를 확장(realloc 함수 사용) (0) | 2016.12.01 |
---|---|
[C언어 소스] 기본 형식 동적 메모리 할당(calloc 함수 사용 예) (0) | 2016.12.01 |
[C언어 소스] malloc 함수 사용 (기본 형식 메모리 동적 할당) (0) | 2016.12.01 |
[C언어 소스] 사용자 정의 형식 실습 - 학생 (0) | 2016.12.01 |
[C언어 소스] 성별을 표현할 수 있는 Gender 열거형 정의 (0) | 2016.11.30 |