열혈강의 C 연습문제질문이여~ ㅠ
이루리
질문 내용 : p.159 연습문제 4번입니다.
입력된 정수의 평균을 구하는 프로그램을 작성하자. 제일 먼저 입력할 정수의 개수를 사용자로 부터 입력받는다.
그리고 그 수만큼 정수를 입력받아서 평균값을 출력 해 준다. 입력받은 값은 정수이지만, 평균값은 실수가 될 것이다.
실행 예)
입력할 정수의 개수 :4
정수입력:2
정수입력:7
정수입력:2
정수입력:4
입력의 평균:3.750000#includestdio.h
int main(void)
{
int a, b, c;
float result;
printf(입력 할 정수의 개수:);
scanf(%d, &a);
c=0;
while(0a)
{
printf(정수 입력: );
scanf(%d, &b);
--a;
c=c+b;
}
result=(float)c/a;
printf(입력의 평균: %f \n, result);
return 0;
}에러는 안뜨는데 실행하면 평균값이 이상하게나오네요... 잘못된 부분 콕 찝어주세요^^
왜 잘못된건지 알구싶네요,,
부탁드립니다.
-
모두다
답변 감사합니다^^ 덕분에 알게되었어요 ㄳ
-
서향
샤이먼님 말씀처럼 a-- 가 나중에 0이 되어서 이상해 지는거 같네요.
int a, b, c, d; // d 추가
float result;
printf(\입력 할 정수의 개수:\);
scanf(\%d\ -
세실
메인함수에서 a의 값이 선연산후감소 하면서 a=0가 되기땜에 result=(float)c/a; 이 문장이 실행될때 a=0여서 잘못되는게 아닐까요?
-
앨버트
float 대신에 double 어떨까요
-
돌삥
답변감사합니다.. 근데 알려주신걸로 해도 평균값만 이상하게 나오네여 ㅠㅠ
-
개미
#includestdio.h
int main(void)
{
int a, b, c;
float result;
printf(\입력 할 정수의 개수:\);
scanf(\%d\