C++实践参考:程序填空(范型程序设计)

    xiaoxiao2025-10-29  1

    【项目:程序填空】下面程序运行后,输出结果如下: 请填空将程序补充完整。

    #include <iostream> #include <vector> #include <algorithm> #include <functional> using namespace std; void Show(double); int main() { double arr1[5] = {2, 4, 8, 10, 16}; double arr2[5] = {1, 3, 5, 7, 9}; cout.setf(ios_base::fixed); cout.precision(1); cout << "arr1:\t"; for_each(_______________, Show); // (1) cout << endl; cout << "arr2: \t"; for_each(_______________, Show); // (2) cout << endl; vector<double> _______________; // (3) transform(arr1, arr1 + 5, arr2, sum.begin(),_______________); // (4) cout << "sum:\t"; for_each(_______________, Show); // (5) cout << endl; vector<double> _______________; // (6) transform(arr1, arr1 + 5, prod.begin(), bind1st(_______________, 2.5)); // (7) cout << "prod:\t"; for_each(_______________, Show); // (8) cout << endl; return 0; } void Show(double v) { cout.width(6); cout << v << ' '; }

    参考解答:(特别提醒,写法不只有一种,要相信自己写的。)

    #include <iostream> #include <vector> #include <algorithm> #include <functional> using namespace std; void Show(double); int main() { double arr1[5] = {2, 4, 8, 10, 16}; double arr2[5] = {1, 3, 5, 7, 9}; cout.setf(ios_base::fixed); cout.precision(1); cout << "arr1:\t"; for_each(arr1, arr1 + 5, Show); // (1) cout << endl; cout << "arr2: \t"; for_each(arr2, arr2 + 5, Show); // (2) cout << endl; vector<double> sum(5); // (3) transform(arr1, arr1 + 5, arr2, sum.begin(),plus<double>()); // (4) cout << "sum:\t"; for_each(sum.begin(), sum.end(), Show); // (5) cout << endl; vector<double> prod(5); // (6) transform(arr1, arr1 + 5, prod.begin(), bind1st(multiplies<double>(), 2.5)); // (7) cout << "prod:\t"; for_each(prod.begin(), prod.end(), Show); // (8) cout << endl; return 0; } void Show(double v) { cout.width(6); cout << v << ' '; } 相关资源:python入门教程(PDF版)
    最新回复(0)