Ошибка при разделении нечетных чисел из префиксного носителя в массиве

#c

Вопрос:

при расчете средних значений до исправления, когда оно достигает нечетного числа, оно складывается в единицу, например, когда результат должен быть 1,5 из 2, и это происходит каждый раз, когда число, которое нужно разделить, нечетное:

 #include <stdio.h>
#define SIZE 10

void computePrefixAvg(int*, int*);

int main(){

 int arr[20];
 int pfavg[SIZE], i, j, k; 

 computePrefixAvg(arr, pfavg);

 printf("Array Elements              Averagen");
 printf("===================================n");
 for (i = 0; i < 20; i    )
{
for (j = 0; j <= i; j  )
{
  printf("%d ", arr[j]=1 j);
}
for (k = 20; k > j; k--)
 {
   printf("   ");
 }
printf(" : %dn", pfavg[i]);
}  
}

void computePrefixAvg(int* arr, int* pfArr){

 int sum = 0;

for(int i = 0; i < SIZE; i  ){
 
sum  = arr[i]=1 i;
pfArr[i] = sum / (i   1);
  }
 }
 

Комментарии:

1. Все числовые объекты в вашем коде являются int — как вы ожидаете получить 1.5 только с помощью int?