Найти среднее арифметическое скольких угодно чисел - C (СИ)

Узнай цену своей работы

Формулировка задачи:

я нашел среднее арифмитическое и среднне гоеметрическое двух чисел
#include<stdio.h>
main()
{
    int a, b, Ariv, Geom;
    printf("Input a b :");
    scanf("%d %d", &a, &b);
    Ariv=(a+b)/2;
    Geom=sqrt(a+b);
    printf("Ariv=%d Geom=%d", Ariv, Geom);
    
}
как мне усеворшенствовать код чтоб можно было считать не двух чисел а "n"

Решение задачи: «Найти среднее арифметическое скольких угодно чисел»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
double arithmetic_mean(const int * pArray, const size_t nCount) {
    size_t i;
    double ret;
    
    for ( ret = 0.0, i = 0; i < nCount; ++i )
        ret += pArray[i];
    
    return ret / (double)nCount;
}
 
double geometric_mean(const int * pArray, const size_t nCount) {
    size_t i;
    double ret;
    
    for ( ret = 1.0, i = 0; i < nCount; ++i )
        ret *= pArray[i];
    
    return pow(ret, 1.0 / (double)nCount);
}
 
void random_fill(int * pArray, size_t nCount, const int iLow, const int iHigh) {
    while ( nCount-- )
        *pArray++ = rand() % ( iHigh - iLow + 1) + iLow;
}
 
void dump(const int * pArray, size_t nCount) {
    while ( nCount-- )
        printf("%d%c", *pArray++, ( nCount ) ? ' ' : '\n');
}
 
/**********************************************/
 
#define LOW 1
#define HIGH 10
 
int main(void) {
    int * pArray;
    size_t nCount;
    
    srand(time(NULL));
    
    while ( printf("Number of elements: ") && scanf("%u", &nCount) == 1 && nCount ) {
        if ( ! ( pArray = malloc(sizeof(int) * nCount) ) ) {
            perror("malloc");
            exit(1);
        }
        
        random_fill(pArray, nCount, LOW, HIGH);
        printf("Array:\n");
        dump(pArray, nCount);
        printf("Arithmetic mean: %f\n", arithmetic_mean(pArray, nCount));
        printf("Geometric mean:  %f\n", geometric_mean(pArray, nCount));
        
        free(pArray);
    }
    
    exit(0);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы