В приведенном ниже коде функция calculo()
не возвращает никаких значений.Он должен был вернуть среднее арифметическое между cont
и aluno
переменными, но он всегда возвращает 0.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int i;
int calculo(int alunos, int *p) {
int cont = 0;
for (i = 0; i < alunos; i++)
cont += p[i];
return cont / alunos;
}
int main()
{
int *p, alunos, media;
printf("Digite a quantidade de alunos na turma \n");
scanf("%d", &alunos);
p = (int*)calloc(alunos, sizeof(int));
if (p == NULL) {
printf("Memória Insuficiente");
return 1;
}
srand(time(NULL));
for (i = 1; i < alunos + 1; i++) {
*p = rand() % 10;
printf("Nota do Aluno [%d]: \t %d \n", i, *p);
}
media = calculo(alunos, p);
printf("A Media Aritimetica da turma e:\t %d", media);
getche();
free(p);
return 0;
}
Что я делаю не так?