#include <stdio.h>
#include <stdlib.h>
double aveof(const int a[], int n)
{
int i;
double ave = 0, sum = a[0];
for(i = 1; i < n; i++)
if(a[i]) sum += a[i];
ave = sum / n;
return ave;
}
int main(void)
{
int i, number = 0;
int *height;
printf("Number of people : ");
scanf("%d", &number);
height = calloc(number, sizeof(int) * number);
printf("Please enter a height of %d people.\n", number);
for(i = 0; i < number; i++)
{
printf("height[%d] : ", i);
scanf("%d", &height[i]);
}
printf("The average of height is %d.\n", aveof(height, number));
free(height);
return 0;
}
이걸 실행시키면 뭘 하든 0이 나오던데 뭐가 문제일까요?
해당 댓글은 삭제되었습니다.
내가 문제긴 한데 여기에서 뭐 때문에 0이 나올까요?
뭐 때문에 0이 나올까요?
뭐 때문에 0이 나올까요?
뭐 때문에 0이 나올까요?
컴퓨터가 안좋은거라그럼
계산해보니깐 0이 나오는게 맞네요
왜 그러죠?
컴퓨터는 거짓말을 하지 않으니깐요
sum=a[0] 하면 들어갈 자리가 없는거 아님?
그리고 if(a[i])는 뭐임
double 출력 %로 하는거 불편하네 ㅇㅅㅇ
%d
감사 바로 lf로고침 전문제가 합구하는거라서 %d였는데 그걸 못고쳤네 - dc App
sizeof(int) * number
calloc(number, sizeof(int) * number)