>>346
もし君の言う「基本型」がintやdoubleなどのことを指しているのならば、
その宿題はできない。
double InnerProduct(double a[], double b[], unsigned int n) {
    double ret = 0.;
    while (n--) ret += a[n] * b[n];
    return ret;
}