21xrx.com
2024-12-22 21:54:28 Sunday
登录
文章检索 我的文章 写文章
C++程序设计工程化教程练习答案
2023-07-04 23:30:15 深夜i     --     --
C++ 程序设计 工程化 教程 练习答案

C++程序设计是计算机科学中必须掌握的一种编程语言,应用广泛,受到了广大计算机爱好者的关注和学习。而要学好C++程序设计,不仅需要理论知识,还要注重实践。因此,为学习者提供一些有挑战性的习题和其答案解析也是非常必要的。

《C++程序设计工程化教程》系列教材,是目前比较流行的C++学习材料之一,提供了许多实用的案例和习题以加深学习者的理解。但是,很多学习者在学习过程中会遇到一些困难和疑惑,不知道如何正确地完成习题,因此,获得习题的解答和答案解析对学习者来说非常有用,可以帮助其更好地理解和掌握知识点。

以下是《C++程序设计工程化教程》中部分习题的解答和答案解析:

1. 编写C++程序,令其从键盘读入一组整数,求它们的平均数并输出到屏幕上。

解答:

  #include

  using namespace std;

  int main()

  {

    int n, sum = 0;

    float avg;

    cout << "请输入整数个数:";

    cin >> n;

    int* p = new int[n];

    cout << "请输入整数:";

    for (int i = 0; i < n; i++)

    {

      cin >> p[i];

      sum += p[i];

    }

    avg = float(sum) / n;

    cout << "这组整数的平均数为:" << avg << endl;

    delete[] p;

    return 0;

  }

答案解析:

  本题需要读入一组整数,因此可以使用动态分配内存的方法来存储这些整数。具体地,使用new运算符申请一个大小为n的int型数组p,并将通过循环依次读入每个整数,累加得到它们的和sum。最后,用一个浮点型变量avg存储平均数,并输出到屏幕上即可。注意要释放动态分配的内存,避免内存泄漏。

2. 编写C++程序,令其从键盘输入一段英文,并统计其中a、e、i、o、u五个元音字母的个数。

解答:

  #include

  #include

  using namespace std;

  int main()

  {

    char input[100];

    int vowels = 0;

    cout << "请输入一段英文字母:";

    cin.getline(input, 100);

    for (int i = 0; i < strlen(input); i++)

    {

      if (input[i] == 'a' || input[i] == 'e' || input[i] == 'i' || input[i] == 'o' || input[i] == 'u')

      {

        vowels++;

      }

    }

    cout << "这段英文中元音字母的个数为:" << vowels << endl;

    return 0;

  }

答案解析:

  本题可以使用一个字符数组来存储读入的英文字母,然后通过一个循环遍历这个字符数组,在循环体内判断当前字母是否为元音字母,如果是则计数器vowels加1。最后,将计数器vowels输出到屏幕上即可。

3. 编写C++程序,令其从键盘输入一组整数,按照从小到大的顺序输出这些整数。

解答:

  #include

  using namespace std;

  int main()

  {

    int n;

    cout << "请输入整数个数:";

    cin >> n;

    int* p = new int[n];

    cout << "请输入整数:";

    for (int i = 0; i < n; i++)

    {

      cin >> p[i];

    }

    for (int i = 0; i < n - 1; i++)

    {

      for (int j = i + 1; j < n; j++)

      {

        if (p[i] > p[j])

        {

          int tmp = p[i];

          p[i] = p[j];

          p[j] = tmp;

        }

      }

    }

    cout << "从小到大排序后的整数为:";

    for (int i = 0; i < n; i++)

    {

      cout << p[i] << " ";

    }

    cout << endl;

    delete[] p;

    return 0;

  }

答案解析:

  本题需要使用一个动态分配内存的int型数组p来存储读入的整数,并使用双重循环进行冒泡排序,实现从小到大的排序。最后,通过循环遍历这个数组,输出排序后的整数即可。注意要释放动态分配的内存哦!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复