◈ 기본 연습
1. 한 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언하세요.
그리고 초기값으로 국어 성적은 80, 영어 성적은 60, 수학 성적은 90으로 지정하고 각 원소의 값을 출력하세요.
답:
//1. 한 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언하세요. //그리고 초기값으로 국어 성적은 80, 영어 성적은 60, 수학 성적은 90으로 지정하고 //각 원소의 값을 출력하세요. #include <stdio.h> enum SubjectType { KOREAN, ENGLISH, MATH,MAX_SUBJECT }; int main(void) { int scores[MAX_SUBJECT] = { 80,60,90 }; const char *titles[MAX_SUBJECT] = { "국어","영어","수학" }; int si; for (si = 0; si < MAX_SUBJECT; si++) { printf("%s과목 성적:%3d\n", titles[si], scores[si]); } return 0; }
2. 다음의 출력 결과를 예측하시오.
#include <stdio.h> int main() { int arr[10]={1}; int index = 0; for(index = 0; index<10; index++) { printf("%d\n",arr[index]); } return 0; }
답:
1
0
0
0
0
0
0
0
0
0
3. 세 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언하세요.
그리고 세 명의 성적을 입력받아 과목별 합계와 평균을 출력하시오.
그리고 학생별로 합계와 평균을 출력하시오.
답:
//세 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언 //그리고 세 명의 성적을 입력받아 과목별 합계와 평균을 출력 //그리고 학생별로 합계와 평균을 출력 #include <stdio.h> #define MAX_STUDENT 3 enum SubjectType { KOREAN, ENGLISH, MATH, MAX_SUBJECT }; int main(void) { int scores[MAX_STUDENT][MAX_SUBJECT]; const char *titles[MAX_SUBJECT] = { "국어","영어","수학" }; int ni,si; int sum; for (ni = 0; ni < MAX_STUDENT; ni++) { printf("%d번째 학생 성적 입력\n", ni+1); for (si = 0; si < MAX_SUBJECT;si++) { printf("%s 성적 입력:", titles[si]); scanf_s("%d", scores[ni] + si); } } for (ni = 0; ni < MAX_STUDENT; ni++) { for (sum = 0, si = 0; si< MAX_SUBJECT; si++) { sum += scores[ni][si]; } printf("%d번째 학생 성적 합계%d , 평균:%.2f\n", ni+1, sum, sum / (double)MAX_SUBJECT); } return 0; }