c언어 프로그램 좀 작성해주세요..

c언어 프로그램 좀 작성해주세요..

작성일 2006.05.15댓글 1건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요..c언어 배우는 학생입니다.

배열을 이용해서 성적처리하는 소스입니다..근데 이 소스에서 scanf  또는 gets를 활용해서 성적을 입력받아서 성적처리하는 프로그램을 잘못하겠어요..고수님들 부탁드립니다..

 

 

#include <stdio.h>

void main()
{
 int kor[3]={100,80,90};
 int eng[3]={100,100,90};
 int math[3]={90,80,100};
 int sum[3], i;
 double avg[3], avg_1, avg_2, avg_3;

 for(i=0 ; i<3 ; i++)
 {
  sum[i] = kor[i] + eng[i] + math[i];
  avg[i] = sum[i]/3.0;
  avg_1 = (90+80+70)/3.0;
  avg_2 = (80+20+30)/3.0;
  avg_3 = (90+100+90)/3.0;
 }

 for(i=0 ; i<3; i++)
 {
  printf("\n 국어 : %3d", kor[i]);
  printf("\n 영어 : %3d", eng[i]);
  printf("\n 수학 : %3d", math[i]);
  printf("\n 합계 : %3d", sum[i]);
  printf("\n 평균 : %6.2f", avg[i]);
 }
       printf("\n 국어 평균 : %6.0f", avg_1);
    printf("\n 영어 평균 : %6.0f", avg_2);
       printf("\n 수학 평균 : %6.0f", avg_3);

}


#c언어 프로그램 #c언어 프로그램 사이트 #c언어 프로그래밍 #c언어 프로그램 추천 #c언어 프로그램 만들기 #c언어 프로그램 종료 #c언어 프로그래밍 책 #c언어 프로그램 예제 #c언어 프로그램 다운 #c언어 프로그래밍 pdf

profile_image 익명 작성일 -

님의 소스코드에서...

#include

void main()
{
int kor[3]={100,80,90};
int eng[3]={100,100,90};
int math[3]={90,80,100};
int sum[3], i;
double avg[3], avg_1, avg_2, avg_3;

for(i=0 ; i {
sum[i] = kor[i] + eng[i] + math[i];
avg[i] = sum[i]/3.0;
avg_1 = (90+80+70)/3.0; avg_2 = (80+20+30)/3.0; avg_3 = (90+100+90)/3.0; }

for(i=0 ; i {
printf("\n 국어 : %3d", kor[i]);
printf("\n 영어 : %3d", eng[i]);
printf("\n 수학 : %3d", math[i]);
printf("\n 합계 : %3d", sum[i]);
printf("\n 평균 : %6.2f", avg[i]);
}
printf("\n 국어 평균 : %6.0f", avg_1);
printf("\n 영어 평균 : %6.0f", avg_2);
printf("\n 수학 평균 : %6.0f", avg_3);

}



'같은 계산을 굳이 반복해서 안해도 됩니다.
for문 안에 넣지 않아도 결과는 같을거에요.

님의 성적처리프로그램은 3과목만 다루는군요.
3명각각의 3과목.

이렇게 하면 됩니다.

변수 kor, eng, math를 선언할때 값을정하지 않거나
0으로 초기화하시고 다음줄에 값을 입력받게 하면 됩니다.

***되도록 0으로 초기화하는거 추천.
***왜냐하면 변수를 선언했을때 그 변수에 쓰레기
***(변수가 선언되면 바로 0으로 초기화되는게 아니라
***선언된 변수가 가리키는 메모리영역에 잔류하는 값을 가지게 되는데
***그게 쓰레기값. 프로그램에 있어 별 효용가치가 없는값이죠.)
***가 있을수 있거든요.
***그걸 변수를 0으로 초기화하는걸로 없애는 습관이 예상치못한 버그나 에러를 ***막을수 있습니다.
***제가말하는 버그나 에러는 컴파일 링킹과정의 것이 아니라 완성된 프로그램실***행도중의것.

이렇게 하면 입력받아서 성적처리를 할수 있겠죠.

#include

void main()
{
int kor[3] = {0, 0, 0}, eng[3] = {0, 0, 0}, math[3] = {0, 0, 0};
int sum[3] = {0, 0, 0}, i;

double avg[3] = {0, 0, 0}, avg_1, avg_2, avg_3;

for( i=0 ; i {
puts("성적을 입력해주세요.\n");
// 또는 printf("성적을 입력해주세요.\n\n");
printf("국어 : ");
scanf("%d", &kor[i]);
printf("영어 : ");
scanf("%d", &eng[i]);
printf("수학 : ");
scanf("%d", &math[i]);

sum[i] = kor[i] + eng[i] + math[i];
avg[i] = sum[i] / 3.0;
}

avg_1 = ( 90 + 80 + 70 ) / 3.0;
avg_2 = ( 80 + 20 + 30 ) / 3.0;
avg_3 = ( 90 + 100 + 90 ) / 3.0;

for(i=0 ; i{
printf("\n 국어 : %3d", kor[i]);
printf("\n 영어 : %3d", eng[i]);
printf("\n 수학 : %3d", math[i]);
printf("\n 합계 : %3d", sum[i]);
printf("\n 평균 : %6.2f", avg[i]);
}

printf("\n 국어 평균 : %6.0f", avg_1);
printf("\n 영어 평균 : %6.0f", avg_2);
printf("\n 수학 평균 : %6.0f", avg_3);
}

***gets() 함수를 쓰면 안되요.
***왜냐하면 그 함수는 정수가 아닌 문자열로 입력받거든요.
***그래서 scanf()로 %d서식을 줘서 입력받아야 해요.

C언어 프로그램좀 작성해주세요..

... 프로그램을 작성하시오. [정수형 연산] [code] #include <stdio.h> int main (void) { int a,b; char ch = '\0'; printf("두 정수를 입력해 주세요. \n"); printf("첫...

c언어 프로그램 좀 작성해주세요..

... i++ ) { puts("성적을 입력해주세요.\n"); // 또는 printf("성적을 입력해주세요.\n\n"); printf("국어 : "); scanf("%d", &kor[i]); printf("영어 : "); scanf("%d...

C 언어 프로그램좀 작성해주세요..

간단한 가계부 프로그램을 작성하세요. 다음과... 출력하도록 작성하세요. - 키보드를 통해... 있도록 작성하세요. - 파일입출력을 이용하여...

c언어 프로그램좀 작성해주세요..

... 다음가 같이 출력되는 프로그램을 작성하시오 대~~한 민국... [1]); } 이해가지 않거나 모르시는 부분이 있으시면 메일이나 쪽지 보내주세요 ^^

c언어 프로그램좀 작성해주세요.

... 프로그램 작성) 2.두수를 입력 받아 그 나눗샘을 출력하시오 - if else... 프로그램작성) 3.달의 일수를 계산하여 출력하시오 - switch *** case 문...