열혈강의 연습문제 질문이요~
사과
성적 관리 프로그램을 작성하자. 과목은 국어, 영어, 수학, 도덕 이렇게 총 4과목이고 학생은 철희, 철수, 영희, 영수 이렇게 4명이다.
사용자로부터 철희, 철수, 영희, 영수의 국어, 영어, 수학, 도덕의 점수를 입력받는다.
그리고 배열을 선언해서 다음과 같은 형태로 데이터를 저장해야한다. (계산하기 좋게 10점 만점이라고 가정하자).
국어영어수학도덕학생총점철희896528철수6810933영희856928영수81071035과목총점303229330이와같이 출력을 해야 합니다.
#include stdio.h
int main(void){ int data[5][5];//점수입력 배열 int i, j, k;
for(i=0; i4; i++) { data[i][4]=0; data[4][i]=0;
//점수 입력받기 for(j=0; j4; j++) { printf(점수 입력 : ); scanf(%d, &data[i][j]);
//만약 입력값이 10보다 크면 if(data[i][j]10) { while(1) { printf(잘못된 입력을 하셨습니다. (10점 만점) \n); printf(점수 입력 : ); scanf(%d, &data[i][j]);
if(data[i][j]10) break; } } data[i][4]+=data[i][j]; //data배열의 끝 부분에 학생총점 저장 } }
//data배열의 맨 마지막 부분에 과목총점 저장 for(i=0; i4; i++) for(k=0; k4; k++) data[4][i]+=data[k][0];
data[4][4]=0;
//출력 for(i=0; i5; i++) { for(j=0; j5; j++) printf(%d , data[i][j]);
printf(\n); } return 0;}
오랫동안 머리를 싸메고 풀었는데 왜 저 빨간 부분이 제대로 작동하지 않는지 모르겠습니다..아무리 저 부분을 생각해도 저게 맞는 거 같은데 말이죠..ㅠㅠ
-
사랑
아~ 감사합니다!!
-
은송이
초보라 한참 보고 알앗네요.
//data배열의 맨 마지막 부분에 과목총점 저장
for(i=0; i4; i++)
for(k=0; k4; k++)
data[4][i]+=data[k][i]; 로 수정하시면 되요.