Ввод переменного количества параметров с клавиатуры

Я написала функцию с переменным количеством параметров для вычисления некоторого выражения. При вызове функции я передаю параметрами целые или вещественные числа. Можно ли сделать так, чтоб эти числа пользователь вводил с клавиатуры в консольном окне?

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>

void SumArg(int, ...);

void main(void)
{
    system("chcp 1251");
    SumArg(6, 'i', 1, 'd', 2.0, 'i', 3, 'd', 4.0, 'i', 5, 'd', 6.0);
    getchar(); getchar();
}

    void SumArg(int k, ...)
{
    va_list p;
    va_start(p, k);
    double sum = 0;
    double a = 0; // чисельник
    double b = 0; // знаменник
    int xi;
    double xd;
    for (int i = 0; i < k; i++)
    {
        char c = va_arg(p, char);
        switch (c) {
        case 'i': {
            xi = va_arg(p, int);
            if (i % 2 == 0)
                a = a + xi;
            else
                b = b + xi;
            break;
        }
        case 'd': {
            xd = va_arg(p, double);
            if (i % 2 == 0)
                a = a + xd;
            else
                b = b + xd;
            break;
        }
        }
    }
    va_end(p);
    sum = a / b;
    printf(" Сума 3: %.2lf\n", sum);
}

Ответы (0 шт):