#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?