외랑 님이 쓰신 글 :
: #include <stdio.h>
: #include <conio.h>
: // 동적 배열을 지금하시는 건 아니라고 생각되어..
: #define CStudent 5 // 학생수를 미리 정의한다.. 배열로 잡기위해
: #define CSubject 3 // 과목 수를 정의 한다.
: #define CSubjectNameChar 20 // 과목명을 저장할 길이 20문자로 정의
:
: //학생수 국어 수학 영어 등등 합계 평균 순위
:
: int main(int argc, char* argv[])
: {
: int Item[CStudent][CSubject]; // 학생수만큼 과목수만큼 같이 저장할 2차원배열 정의
: int i,j; // i는 학생수로 j는 과목수로 사용할 것임
: char SubjectName[CSubject][CSubjectNameChar] = { "국어", "수학", "영어" };
: double Sum[CStudent], Avg[CStudent]; // 요건 학생수만큼 있음 되겠죠
:
:
: for(i=0; i<CStudent; i++) // i는 학생수만큼 증가하며 돌고, 단문이므로 {}생략했음
: for(j=0; j<CSubject; j++) // j는 과목수만큼 증가하며 돌기.
: {
: printf("%d번째 학생의 %s 과목 점수를 입력하시오 : ", i+1, SubjectName[j]); // 과목명 배열은 단순히 출력을 위해 사용했음
: scanf(" %d", &Item[i][j]); // 그냥 간단히 과목당 점수를 입력 받습니다.
: }
: /// 이제 합계와 평균을 구해봅시다
: for(i=0; i<CStudent; i++) // i는 학생수만큼 증가하며 돌고, 복문이므로 {}사용
: {
: Sum[i] = 0.0; // 합계는 학생별로 초기화 해야겠죠..
: for(j=0; j<CSubject; j++) // j는 과목수만큼 증가하며 돌기. 단문이므로 {}생략했음
: Sum[i] += Item[i][j]; // 과목당 점수를 다 누적합니다.
: Avg[i] = Sum[i] / CSubject; // 과목점수의 합계를 과목수로 나누면 평균이죠.
: }
: /// 이제 합계와 평균을 출력해 봅시다
: for(i=0; i<CStudent; i++) // i는 학생수만큼 증가하며 돌고, 단문이므로 {}생략했음
: printf("%d번째 학생의 합계: %lf, 평균: %lf\n", i+1, Sum[i], Avg[i]);
: // double형의 출력이므로 %lf 사용했음, i는 0부터 시작하므로 1을 더해서 출력했음.
:
: /*
: // 위의 3개로 나눈 for구문을 하나로 합쳐서 아래와 같이 해도 됩니다. 한 학생당 한번씩 처리
: for(i=0; i<CStudent; i++) // i는 학생수만큼 증가하며 돌고,
: {
: Sum[i] = 0.0; // 합계는 학생별로 초기화 해야겠죠..
: for(j=0; j<CSubject; j++) // j는 과목수만큼 증가하며 돌기.
: {
: printf("%d번째 학생의 %s 과목 점수를 입력하시오 : ", i+1, SubjectName[j]); // 과목명 배열은 단순히 출력을 위해 사용했음
: scanf(" %d", &Item[i][j]); // 그냥 간단히 과목당 점수를 입력 받습니다.
: Sum[i] += Item[i][j]; // 과목당 점수를 다 누적합니다.
: }
: Avg[i] = Sum[i] / CSubject; // 과목점수의 합계를 과목수로 나누면 평균이죠.
: printf("%d번째 학생의 합계: %lf, 평균: %lf\n", i+1, Sum[i], Avg[i]);
: }
: */
:
: getch();
: return 0;
: }
: //---------------------------------------------------------------------------
:
:
: ㅇㅇㅇㅇ 님이 쓰신 글 :
: : 우선 for문으로 삼각형만들기 정말로힘들어요 그리고 배열 2차원배열요 쉽게이해할수었나요
: : for문하고 배열로만 프로그램만들고싶은데 (학생수 국어 수학 영어 등등 합계 평균 순위 )
: : 알려주세요
#define ST_NUM 3
#define GW_NUM 3
#define EP_NUM 1
int main(int argc, char* argv[])
{
char name[ST_NUM][20];
int rec[ST_NUM][GW_NUM];
int sum;
float average;
int i,a;
for (i = 0; i < ST_NUM; i++)
{
printf("NO.%d 이름 :",i);scanf("%s",name[i]);
for (a = 0; a < EP_NUM; a++)
{
printf("국어 점수:");scanf("%d",&rec[i][0]);
printf("수학 점수:");scanf("%d",&rec[i][1]);
printf("영어 점수:");scanf("%d",&rec[i][2]);
}
}
fflush(stdin);
clrscr();
for (i = 0; i < ST_NUM; i++)
{
sum=rec[i][0]+rec[i][1]+rec[i][2];
average=sum/3.0;
for (a = 0; a < GW_NUM; a++)
{
if (a==0)
{
printf("NO.%d %s님 :국어 점수:%d",i,name[i],rec[i][a]);
}
else if (a==1)
{
printf("수학 점수:%d",rec[i][a]);
}
else if (a==2)
{
printf("영어 점수:%d 합계:%d 평균:%.2f\n",rec[i][a],sum,average );
}
}
}
getch();
return 0;
}
|